วันศุกร์ที่ 14 กุมภาพันธ์ พ.ศ. 2557

การแบ่ง Subnet

เทคนิคการคำนวณ

IP Address
IP Address หรือ Internet Protocol Address มีความสำคัญอย่างไร และเกี่ยวข้องอะไรกับ
เราบ้าง ปัจจุบันคงไม่ต้องกล่าวถึงแล้ว IP Address เป็นหมายเลขที่ใช้กำหนดให้กับเครื่องคอมพิวเตอร์ หรือ
อุปกรณ์ Network ต่างๆ เช่น Router, Switch , Firewall , IP Camera , IP Phone , Access
point , เป็นต้น และอีกไม่นานอุปกรณ์ไฟฟ้าหรืออุปกรณ์สื่อสารทุกประเภทที่จะออกวางจำหน่ายจะมีIP
Address ติดมาด้วยจากโรงงานเลยทีเดียว IP Address ที่ใช้ในปัจจุบันนั้นจะเป็นชนิดที่เรียกว่า IPv4
(IP version 4) ซึ่งไม่เพียงพอต่อการใช้งาน จึงมีการพัฒนาเป็น IPv6 (IP version 6) เพื่อรองรับ
อุปกรณ์และเทคโนโลยีใหม่ๆที่ต้องใช้IP Address ในการติดต่อสื่อสาร และในเมืองไทยเองก็มีการใช้IPv6
ในหลายหน่วยงานแล้ว หน่วยงานที่จัดสรร IP Address ให้ในแถบ Asia Pacific คือAPNIC ผู้
ให้บริการ Internet หรือ ISP จะขอ IP จาก APNIC แล้วนำมาแจกจ่ายให้แก่ลูกค้าของ ISP นั้นๆอีกต่อไป
สำหรับผู้ที่จะสอบใบ Certificate ค่ายต่างๆ เช่น CCNA , CCNP , LPI , Security + , CWNA
เป็นต้น ล้วนแล้วแต่จะต้องมีความรเู้ กี่ยวกับ IP Address ทั้งสิ้น โดยเฉพาะ IPv4 จะต้องคำนวณได้อย่าง
แม่นยำและรวดเร็ว
IPv4
IPv4 ประกอบด้วยเลขฐานสอง 32 bits (4 bytes ,( 8bits=1byte)) แบ่งเป็น 4 กลุ่ม กลุ่มละ 8 bits แต่
ละกลุ่มนั้นจะคั่นด้วย . ( Dot )
กรณีตัวเลขน้อยสุดหรือเป็น เลข 0 ทั้งหมด  00000000 . 00000000 . 00000000 . 00000000
กรณีตัวเลขมากสุดหรือเป็น เลข 1 ทั้งหมด  11111111 . 11111111 . 11111111 . 11111111
เมื่อแปลงเป็นเลขฐาน 10 จะได้
กรณีตัวเลขน้อยสุดหรือเป็น เลข 0 ทั้งหมด  0.0.0.0
กรณีตัวเลขมากสุดหรือเป็น เลข 1 ทั้งหมด  255.255.255.255
ดังนั้น IPv4 จะมีตัวเลขที่เป็นไปได้ ตั้งแต่ 0.0.0.0 – 255.255.255.255
ก่อนการคำนวณเรื่อง IP เพื่อความรวดเร็ว ให้เขียนตามด้านล่างนี้


IPv4 จะมีตัวเลขที่เป็นไปได้ทั้งหมดคือตั้งแต่ 0.0.0.0 - 255.255.555.555
สามารถแบ่ง IPv4 ได้เป็น 5 แบบ หรือ 5 Class ตามด้านล่าง โดยวิธีการแบ่งจะอ้างอิงจาก byte ที่1 ดังนี้
class A  byte ที่1 ตัวเลขบิตแรก จะเป็น 0
class B  byte ที่1 ตัวเลขบิตแรกจะเป็น 1 บิตที่2 จะเป็น 0
class C  byte ที่1 ตัวเลข 2 บิตแรก จะเป็น 1 บิตที่3 จะเป็น 0
class D  byte ที่1ตัวเลข 3 บิตแรก จะเป็น 1 บิตที่4 จะเป็น 0
class E  byte ที่1 ตัวเลข 4 บิตแรกจะเป็น 1
ดังนั้นจะได้ผลตามรูปด้านล่าง

จะได้IP ในแต่ละ Class ดังนี้
Class A จะเริ่มต้นตั้งแต่ 0.0.0.0 ถึง 127.255.255.255
Class B จะเริ่มต้นตั้งแต่ 128.0.0.0 ถึง 191.255.255.255
Class C จะเริ่มต้นตั้งแต่ 192.0.0.0 ถึง 223.255.255.255
Class D จะเริ่มต้นตั้งแต่ 224.0.0.0 ถึง 239.255.255.255
Class E จะเริ่มต้นตั้งแต่ 240.0.0.0 ถึง 255.255.255.255
IP ที่สามารถนำไป Set ให้อุปกรณ์หรือ Host ได้จะมีอยู่3 Class คือ Class A, B และ C ส่วน IP Class
D จะสงวนไว้ใช้สำหรับงาน multicast applications และ IP Class E จะสงวนไว้สำหรับงานวิจัย หรือ
ไว้ใช้ในอนาคต
IPv4 ยังแบ่งเป็น 2 ประเภท คือ Public IP ( IP จริง ) และ Private IP ( IP ปลอม )
Public IP ( IP จริง ) คือ IP ที่สามารถ set ให้อุปกรณ์network เช่น Server หรือ Router แล้ว
สามารถติดต่อสื่อสารกับ Public IP ( IP จริง ) ด้วยกัน หรือออกสู่Network Internet ได้ทันที
Private IP ( IP ปลอม ) สามารถนำมา ใช้set ให้กับ PC หรืออุปกรณ์ในออฟฟิตได้แต่ไม่สามารถออกสู่
Public IP หรือออก Internet ได้ ต้องมีอุปกรณ์ Gateway เช่น Router ,Server หรือModem
DSL เปิด Service NAT ( Network Address Translation ) ไว้ จึงจะสามารถออกสู่Internet ได้

Private IP จะมีเฉพาะ Class A,B และ C ดังนี้
Class A : 10.x.x.x ( 10.0.0.0 - 10.255.255.255 )
Class B : 172.16.x.x - 172.31.x.x ( 172.16.0.0 - 172.31.255.255 )
Class C : 192.168.x.x ( 192.168.0.0 - 192.168.255.255 )
การคำนวณ IPv4
เมื่อเราได้IP Address มา 1 ชุด สิ่งที่จะต้องบอกได้จาก IP Address ที่ได้มาคือ
Subnet Mask คือ IP Address อะไร
Network IP คือ IP Address อะไร
Broadcast IP คือ IP Address อะไร
Range host IP ที่สามารถนำมาใช้งานได้ มีIP อะไรบ้าง
จำนวน Subnets , จำนวน hosts / Subnet
Subnet Mask ทำหน้าที่แบ่ง network ออกเป็นส่วนย่อยๆ ลักษณะคล้ายกับ IP Address คือ
ประกอบด้วยตัวเลข 4 ตัวคั่นด้วยจุด เช่น 255.255.255.0 วิธีการที่จะบอกว่า computer แต่ละเครื่องจะอยู่
ใน network วงเดียวกัน (หรืออยู่ใน subnet เดียวกัน) หรือไม่นั้นบอกได้ด้วยค่า Subnet Mask

วิธีการหา Subnet Mask
/30 หมายถึง mask 30 bits แรก
/27 หมายถึง mask 27 bits แรก
/20 หมายถึง mask 20 bits แรก
ให้ทำการแปลง mask bit ที่กำหนดให้ เป็นค่า Subnet Mask
วิธีการคือ bits ที่อยู่หน้าตัวmask ให้แทนด้วยเลข 1 bits ที่อยู่หลังให้แทนด้วยเลข 0
Ex /30
/30  11111111 . 11111111 . 11111111 . 111111/00

จะได้ค่า Subnet Mask
/30  255.255.255.252
11111111 . 11111111 . 11111111 . 111111/00
ให้ใช้ตารางช่วยจะทำให้เร็วขึ้น โดย ถ้าเป็น 1 จำนวน 8 ตัวจะได้255
ถ้าเป็น 1 จำนวน 6 ตัวจะคือ 252 หรือจะใช้วิธีนับจาก 24 bits แรกซึ่งเป็น 1 ทั้งหมดอยู่แล้ว นับต่อมาจะได้
bits ที่30 เป็น 252 พอดี
Ex /27
/27  11111111 . 11111111 . 11111111 . 111/00000
จะได้ค่า Subnet Mask
/27  255.255.255.224

/20  11111111 . 11111111 . 1111/0000 . 00000000
จะได้ค่า Subnet Mask
/20  255.255.240.0
ตัวอย่าง Subnet Mask ต่างๆ มีดังนี้
Mask ที่เป็นค่า default ของ IP Class ต่างๆมีดังนี้
Class A = Mask 8 bits = 255 . 0 . 0 . 0
Class B = Mask 16 bits = 255 . 255 . 0 . 0
Class C = Mask 24 bits = 255 . 255 . 255 . 0
Subnet mask ทั่วไป
Mask 10 = 255 . 192 . 0 . 0 Mask 21 = 255 . 255 . 248 . 0
Mask 11 = 255 . 224 . 0 . 0 Mask 22 = 255 . 255 . 252 . 0
Mask 12 = 255 . 240 . 0 . 0 Mask 23 = 255 . 255 . 254 . 0
Mask 13 = 255 . 248 . 0 . 0 Mask 25 = 255 . 255 . 255 . 128
Mask 14 = 255 . 252 . 0 . 0 Mask 26 = 255 . 255 . 255 . 192
Mask 15 = 255 . 254 . 0 . 0 Mask 27 = 255 . 255 . 255 . 224
Mask 17 = 255 . 255 . 128 . 0 Mask 28 = 255 . 255 . 255 . 240
Mask 18 = 255 . 255 . 192 . 0 Mask 29 = 255 . 255 . 255 . 248
Mask 19 = 255 . 255 . 224 . 0 Mask 30 = 255 . 255 . 255 . 252
Mask 20 = 255 . 255 . 240 . 0 Mask 31 = 255 . 255 . 255 . 254

หลังจากได้Subnet Mask แล้ว ขั้นตอนต่อไปคือการหา Network IP และ Broadcast IP
Network IP คือ IP ตัวแรกของ Subnet ปกติจะเอาไว้ประกาศเรื่องของ Routing จะไม่สามารถนำมา
Set ให้แก่อุปกรณ์หรือเครื่อง PC ได้

Broadcast IP คือ IP ตัวสุดท้ายของ Subnet ปกติจะทำหน้าที่Broadcast ให้อุปกรณ์ที่อยู่ในวงเดียวกัน
จะไม่สามารถนำมา Set ให้แก่อุปกรณ์หรือเครื่อง PC ได้เช่นกัน
Ex.1 192.168.22.50/30
จากโจทย์ /30 เมื่อแปลงเป็น Subnet Mask จะได้255.255.255.252
ให้ดูจากที่เขียนไว้ด้านบนนะครับ ถ้าเป็น 1 หมดทั้ง 8 ตัวจะได้255 ( แปลงจากฐานสองเป็นฐานสิบ )
เป็น 1 ทั้งหมด 6 ตัวจะได้252 ดังนั้นจึงได้subnet mask เป็น 255.255.255.252
ต่อไป หาว่า จำนวน IP ต่อ Subnet มีจำนวนเท่าไหร่ จากค่า Subnet Mask ที่ให้มา
ดูที่2 bit ที่เหลือ ที่เป็นอะไรก็ได้นั้น ตัวเลขที่เป็นไปได้หมดคือ 00 , 01 , 10 , 11 มี4 ตัว
และเมื่อนำ00 , 01 , 10 , 11 แปลงเป็นฐานสิบจะได้
00 แปลงเป็นฐานสิบจะได้ 0
01 แปลงเป็นฐานสิบจะได้ 1
10 แปลงเป็นฐานสิบจะได้ 2
11 แปลงเป็นฐานสิบจะได้ 3

สรุปคือ จำนวน IP ต่อ Subnet เมื่อ Subnet Mask คือ 255.255.255.252 คือ 4 ตัว นั่นเอง
หรือใช้วิธีลัดดูจากที่เขียนไว้ ตัวเลขที่อยู่บน 252 คือ 4 ตามด้านล่างครับ

ดังนั้นถ้า /30 จำนวน IP ในแต่ละ subnet ที่จะเป็นไปได้ดูเฉพาะกลุ่มสุดท้าย
คือ 0-3 , 4-7 , 8-11 , _ _ _ , 252-255 หรือเขียนในรูป IPv4 จะได้
192.168.22.0 - 192.168.22.3
192.168.22.4 - 192.168.22.7
192.168.22.8 - 192.168.22.11
-----------
192.168.22.48 - 192.168.22.51
---------
192.168.22.252 - 192.168.22.255

วิธีการหา Network IP นอกเหนือจากการเขียนตามด้านบนแล้วยังหาได้โดย
วิธีการปกติทำได้โดยการนำเอา Subnet Mask มา AND กับ IP Address ที่ให้มา ผลที่ได้จะเป็น
Network IP วิธีนี้หนังสือหลายเล่มมีอธิบายแล้ว
วิธีการหาร นำIP จากโจทย์ที่ให้มา ตั้งหารด้วยจำนวน IP ที่มีได้ใน Subnet เช่น
192.168.22.50/30 ให้นำเอาตัวเลข 50 หารด้วย 4 ดังด้านล่าง

เมื่อได้Netwok IP แล้ว ก็จะได้คำตอบเช่นเดียวกับด้านบน เนื่องจากเรารู้อยู่แล้วว่า /30 ใน 1 subnet จะมี
จำนวน IP ทั้งหมด 4 ตัวจากตาราง ดังที่ได้กล่าวมาแล้ว

Ex.2 192 .168.5.33/27 which IP address should be assigned to the PC host ?
A.192.168.5.5
B.192.168.5.32
C. 192.168.5.40
D. 192.168.5.63
E. 192.168.5.75
จากโจทย์/27 จะหมายถึง
11111111 . 11111111 . 11111111 . 111/XXXX X = mask 27 bit แรก ต้องเป็นเลข 1 ส่วน 5
bit หลัง เป็นอะไรก็ได้
/27 เมื่อแปลงเป็นเลขฐานสิบจะได้255 . 255 . 255 . 224


หรือจะคิดแบบลัด ตามตาราง ดูบรรทัดที่4 จะหมายถึงผลบวกของ bit ใน 8 bit สุดท้ายครับ 111 ก็คือ
128+64+32 = 224
เมื่อ ได้Subnet Mask แล้ว เราก็จะรู้ว่ามีจำนวน IP ต่อ Subnet เท่ากับ 32 หรือจะดูจากที่เขียนไว้ด้านบน
ของ 224 ก็คือ 32 นั่นเอง
จากโจทย์192 .168.5.33/27 จะใช้วิธีไหนก็ได้หาตัว Network มาให้ได้ก่อน
192.168.5.33/27 หมายถึง 192.168.5.32 - 192.168.5.63
โดย IP ตัวแรกจะเป็น Network IP ( 192.168.5.32 ) และ IP ตัวสุดท้ายจะเป็น Broadcast IP (
192.168.5.63 ) ซึ่งไม่สามารถใช้set ให้แก่PC ได้ ดังนั้นจะเหลือ IP ที่สามารถ Set ให้แก่PC ได้คือ
192.168.5.33 - 192.168.5.62
คำตอบจึงเป็นข้อ C. 192.168.5.40
Ex.3 IP 10.10.10.0/13 เป็น IP ที่นำไป set ให้host ได้หรือไม่
IP ที่สามารถนำไป set ให้host ได้หรือนำไปใช้งานได้ จะต้องไม่ตรงกับ Network IP หรือ
Broadcast IP

วิธีการคิดก่อนอื่นเราต้องทำการแปลง /13 หรือmask 13 bit ให้เป็น subnet mask


11111111 . 11111/XXX . XXXXXXXX . XXXXXXXX = mask 13 bit
แรก ต้องเป็นเลข 1 ส่วน bit ที่เหลือเป็นอะไรก็ได้
/13 เมื่อแปลงเป็นเลขฐานสิบจะได้ 255 . 248 . 0 . 0
จากโจทย์ เขียนใหม่ได้ดังนี้IP 10.10.10.0 subnet mask 255.248.0.0
ขั้น ต่อไปเราจะมาหาช่วง IP จาก subnet mask ที่หามาได้255.248.0.0
หลักที่1 จะมีค่าคงที่คือเลข 10 หลักที่3 และหลักที่4 นั้น ตัวเลขที่เป็นไปได้คือ 0 - 255
ส่วนหลักที่2 นั้น เราต้องมาคำนวณ โดยเว้นไว้ก่อน เขียนช่วง IP จะได้ดังนี้คือ
10 . X . 0 . 0 - 10 . X . 255 . 255

ถ้า เราพิจารณาเฉพาะ 248 (ดูเฉพาะตัวเลขกลุ่มที่2 ) ถ้าดูจากรูปด้านบน บรรทัดที่3 ซึ่งจะหมายถึง IP ที่มี
ได้ทั้งหมด ก็คือ 8 ตัว คือ 0-7 , 8-15 , 16- 23 , _ _ _ , 248-255 หรือเขียนเต็มๆจะได้
10 . 0 . 0 . 0 - 10 . 7 . 255 . 255
10 . 8 . 0 . 0 - 10 . 15 . 255 . 255 ------------> จากโจทย์10.10.10.0 จะอยู่ในช่วงนี้
10 . 16 . 0 . 0 - 10 . 23 . 255 . 255
------------
10 . 248 . 0 . 0 - 10 . 255 . 255 . 255
จากโจทย  10.10.10.0/13 ก็จะคือ IP ในช่วง 10 .8 . 0 . 0 - 10 . 15 . 255 . 255

การหาจำนวน Subnet และ จำนวน hosts / Subnet
การหาจำนวน hosts ต่อ Subnet จากค่า Subnet Mask ที่ให้มา จะใช้ สูตร
2n - 2
โดย n คือจำนวน bits ที่อยู่หลังตัวMask ส่วนเลข 2 ที่ลบออกไปคือ Network IP และ Broadcast IP
Ex.1 /30 11111111 . 11111111 . 11111111 . 111111/00
หรือ 255.255.255.252 จะได้
จำนวน hosts/Subnet = 2n - 2 = 22 - 2 = 4 - 2 = 2
Ex.2 /20 11111111 . 11111111 . 1111/0000 . 00000000
หรือ 255.255.240.0
จำนวน hosts/Subnet = 2n - 2 = 212- 2 = 4096 - 2 = 4094
การหาจำนวน Subnet จากค่า Subnet Mask ที่ให้มา ปัจจุบันใช้สูตร
2n ไม่ต้องลบ 2 เนื่องจากว่า ปัจจุบันทุก Subnet สามารถใช้ได้ทั้งหมด และใน router cisco เองมีการ
เพิ่ม IP Subnet Zero ไว้อยู่แล้ว
โดย n คือจำนวน bits ที่อยู่หน้าตัวMask ถึงตำแน่ง . (dot) ที่ใกล้ที่สุดหรือตำแหน่งที่ระบุไว้

Ex.3 /30 11111111 . 11111111 . 11111111 . 111111/00
หรือ 255.255.255.252 จะได้
จำนวน Subnet = 2n = 26 = 64
Ex.4 /20 11111111 . 11111111 . 1111/0000 . 00000000
หรือ 255.255.240.0
จำนวน Subnet = 2n = 24 = 16
Ex.5 จากเดิม /20 แบ่งเป็น /27 จะได้กี่Subnet อันนี้ระบุMask ต้นทางมาจะได้
11111111 . 11111111 . 1111/1111 . 111/00000
จำนวน Subnet = 2n = 27 = 128

เราหา Subnet ที่สองได้โดยใช้เบอร์ที่ยังว่างอยู่ที่ถัดจาก Broadcast Address ของ
 Subnet  ที่  1  คือเบอร์ 192.168.1.16  แล้วบวกด้วยค่าสูงสุดของช่วงคือ 15 จะได้ช่วงของ
 IP  Address สำหรับ Subnet ที่สองคือ 192.168.1.16 ถึง 192.168.1.31 ดังนั้นจะได้

 Subnet 2 (192.1.1.16/28)

Network Address                    192.1.1.16

Host Address แรก                   192.1.1.17

Host Address สุดท้าย              192.1.1.30

Broadcast Address                  192.1.1.31

ทำเหมือนกับ Subnet ที่สอง สำหรับ Subnet ที่เหลือ

Subnet 3 (192.1.1.32/28)

Network Address                    192.1.1.32

Host Address แรก                   192.1.1.33

Host Address สุดท้าย              192.1.1.46

Broadcast Address                  192.1.1.47

Subnet 4 (192.1.1.48/28)

Network Address                    192.1.1.48

Host Address แรก                   192.1.1.49

Host Address สุดท้าย              192.1.1.62

Broadcast Address                  192.1.1.63

Subnet ที่เหลือก็ใช้วิธีการคำนวณแบบเดียวกัน แบ่งไปเรื่อย ๆ จนได้ครบ 10 Subnet

คำศัพท์ที่ควรรู้
Classful และClassless


Classful จะสนใจ Class ของ IP เป็นหลักจะไม่สนใจตัวMask ดูตัวเลข IP ว่าอยู่Class ไหน เช่น อยู่
Class A ,B หรือ C ตามนี้
Class A ( 0.0.0.0 - 127.255.255.255 )
Class B ( 128.0.0.0 - 191.255.255.255 )
Class C (192.0.0.0 - 223.255.255.255 )
ในการใช้IP Address ช่วงแรกๆจะเป็นแบบ Classful ซึ่ง Classful จะ มีค่า default subnet mask

A /8 255.0.0.0
B /16 255.255.0.0
C /24 255.255.255.0
ดังนั้นถ้าเราใช้หลักการของ Classful ก็ไม่สามารถแบ่ง Subnet ได้แตกต่างจากค่า Default Subnet Mask
ตัวอย่าง routing protocols : ที่เป็นแบบClassful
• RIP Version 1 (RIPv1)
• IGRP
ส่วน Classless จะตรงข้ามกับ Classful คือจะไม่สนใจ Class ของ IP แต่จะสนใจตัวMask เป็น
หลัก อย่างเช่นที่คำนวณตามตัวอย่างที่ผ่านมา โดยจะเป็นไปตามหลักการของ Classless Inter-
Domain Routing (CIDR) ดังนั้น ตัวMask จะเป็นอะไรก็ได้ไม่สนใจว่า IP อยู่Class ไหน

จากหลักการ เครือข่ายที่เราใช้งานกันอยู่ ไม่จำเป็นจะต้องมีขนาดเท่ากันเสมอไป (ไม่จำเป็นต้องมี ตัวMask
เท่ากัน ) เช่น การเชื่อมต่อแบบจุดต่อจุด (Point-to-Point) ต้องการแค่2 IP ก็เพียงพอ ดังนั้นก็ควร
Mask 30 bit ( /30 ) หรือใช้subnet mask เป็น 255.255.255.252 หรือการเชื่อต่อใน
LAN ที่มีเครื่องเพียง 20 เครื่อง ก็ควรmask 27 bit ( /27 ) หรือ ใช้subnet mask เป็น
255.255.255.224 เป็นต้น ดังตัวอย่างในรูปด้านล่าง ใช้หลักการของVLSM จะเห็นว่าแต่ละ
subnet จะมีตัวmask ต่างกันและmask bit ตามความเหมาะสมทำให้ประหยัด IP หรือใช้IP ได้
อย่างมีประสิทธิภาพ

ประโยชน์ของการใช้VLSM ยังมีดังนี้
•VLSM จะยอมให้มีการแบ่ง Subnet ได้มากกว่า 1 ครั้งสำหรับแต่ละชุด IP เพื่อให้ได้ขนาด IP ตามที่
ต้องการ
•VLSM จะช่วยลดจำนวนการจัดสรร IP ลง เป็นการใช้งาน IP อย่างมีประสิทธิภาพ
•VLSM ยังช่วยให้Router ทำงานได้เร็วขึ้นเนื่องจากขนาดของ Routing Table เล็กลง
ตัวอย่างการจัดสรร IP ด้วยหลักการ VLSM



จากรูปด้านบนถ้ากำหนด IP มาให้ เป็น 192.168.55.0 /24 ให้ทำการแบ่ง จำนวน host ให้เหมาะสมกับแต่
ละ Subnet โดยการทำVLSM จะได้ดังนี้
เมื่อดูตามค่าของ IP ที่ให้มาจะเห็นว่า ไอพีจะเริ่มตั้งแต่192.168.55.0 ไปจนถึง 192.168.55.255 หรือ
จาก 0-255 ตัว โดยใช้เรื่องของ subnet มาช่วยจะได้ดังนี้

วงที่ 1 ต้องการ 7 hosts จะได้Mask ที่เหมาะสมคือ /28 จะมีจำนวน hosts 14 ตัว เพียงพอกับ
ความต้องการ ( ใช้ /29 ไม่ได้เนื่องจากจะได้จำนวน hosts เพียง 6 ตัวเท่านั้น ซึ่งไม่เพียงพอกับความ
ต้องการ ) ถ้าเราใช้IP ของ subnet แรกของ /28 IP ที่ใช้งานไปคือ 192.168.55.0 -
192.168.55.15 ดังนั้น IP ที่เหลือที่ยังไม่ได้ใช้คือ
IP 192.168.55.16 – 192.168.55.255

วงที่2 ต้องการ 2 hosts จะได้Mask ที่เหมาะสมคือ /30 จะมีจำนวน hosts 2 ตัวพอดี ในการ
เลือกใช้IP ต้องเลือก subnets ที่IP ไม่ซ้ำกับที่แบ่งให้วงที่1 เช่น เลือกใช้subnet ที่มีIP ตั้งแต่
192.168.55.16 - 192.168.55.19 ดังนั้น IP ที่เหลือที่ยังไม่ได้ใช้คือ
192.168.55.20 – 192.168.55.255
วงที่ 3 ต้องการ 90 hosts จะได้Mask ที่เหมาะสมคือ /25 จะมีจำนวน hosts 126 ตัว
/25 จะมีเพียง 2 subnets เท่านั้น เลือก subnet ที่IP ยังไม่ได้มีการใช้งาน เลือกใช้subnet ที่มีIP
ตั้งแต่ 192.168.55.128-192.168.55.255 ดังนั้น IP ที่เหลือที่ยังไม่ได้ใช้คือ
192.168.55.20 – 192.168.55.127
วงที่4 ต้องการ 2 hosts จะได้Mask ที่ต้องการคือ /30 จะมีจำนวน hosts 2 ตัวพอดี ในการ
เลือกใช้IP ต้องเลือก subnets ที่IP ไม่ซ้ำกับที่แบ่งให้วงที่ผ่านมา เช่น เลือกใช้subnet ที่มีIP
ตั้งแต่192.168.55.20 - 192.168.55.23 ดังนั้น IP ที่เหลือที่ยังไม่ได้ใช้คือ
192.168.55.24 – 192.168.55.127
วงที่5 ต้องการ 23 hosts จะได้Mask ที่ต้องการคือ /27 จะมีจำนวน hosts 30 ตัว ในการ
เลือกใช้IP ต้องเลือก subnets ที่IP ไม่ซ้ำกับที่แบ่งให้วงที่ผ่านมา เช่น เลือกใช้subnet ที่มีIP
ตั้งแต่192.168.55.32 - 192.168.55.63 ดังนั้น IP ที่เหลือที่ยังไม่ได้ใช้คือ
192.168.55.24 – 192.168.55.31 และ 192.168.55.64 – 192.168.55.127

วิธีการหา Summarization ทำได้โดยการแปลง IP เป็นฐานสองทั้งหมด แล้วดูเฉพาะตัว
เลขที่เหมือนกันสิ้นสุดที่bit ไหน ก็จะทำการmask ที่ bit นั้น
172.1.4.0/25 10101100 . 00000001 . 00000100 . 00000000
172.1.5.0/24 10101100 . 00000001 . 00000101 . 00000000
172.1.6.0/24 10101100 . 00000001 . 00000110 . 00000000
172.1.7.0/24 10101100 . 00000001 . 00000111 . 00000000
172.1.4.128/25 10101100 . 00000001 . 00000100 . 10000000


ดังนั้นจาก networks ทั้งหมดจะเห็นว่า ตัวเลขที่เหมือนกันจะสิ้นสุดที่bits ที่22 ดังนั้นจะmask 22
bits ( /22 ) ก็จะได้Summarization เป็น 172.1.4.0/22
หรือ ถ้าสามารถ คำนวณ IP ได้เร็วก็ไม่ต้องแปลง IP เป็นฐานสองก็ได้ โดยใช้วิธีสังเกตุจะเห็นว่า ตัวเลขจะ
เหมือนกันใน 2 กลุ่มแรกอยู่แล้ว มีกลุ่มที่สาม ที่แตกต่างกันคือตัวเลข 4 ,5 ,6 และ 7 ซึ่งมี4 ตัว คือ 4-7
ซึ่งตรงกับตัวเลข IP ในกลุ่มที่มี4 ตัวพอดี และเมื่อนำมาพิจารณาจะตรงกับ /22 ก็จะได้คำตอบ
172.1.4.0/22 เช่นกัน
การทำSummarization นั้น เพื่อให้Router ทำงานน้อยลงนั่นเองเป็นการประหยัด CPU โดยเฉพาะในเรื่อง
Routing จะเห็นได้ชัดเจนมาก

IPv6
IPv6 หรือ IP version 6 เป็นรูปแบบ IP ชุดใหม่ที่มีการพัฒนามาจาก IPv4 โดยจะใช้การส่ง
ข้อมูลเป็น 128 bit และจะใช้เลขฐาน 16 จำนวน 8 กลุ่ม เป็นเกณฑ์หลัก ( FFFF . FFFF . FFFF . FFFF
. FFFF . FFFF . FFFF . FFFF) ตัวอย่างเลข IPv6 เช่น 2301 : 0000 : 130F : 0000 : 0000 :
09C0 : 876A : 130B เป็นต้น IPv6 นั้นสามารถเขียนแบบย่อตัวเลขโดยมีหลักเกณฑ์ดังนี้
- มีเลข 0 อยู่ในแถว 4 ตัว ติดกันสามารถยุบให้เหลือเพียงแค่ตัวเดียว
: 0000 = : 0
- มีเลข 0 อยู่หน้าแถวของจำนวนกลุ่ม สามารถยุบให้เหลือเพียงแค่ตัวเลขเพียงอย่างเดียวโดยไม่ต้องเขียนเลข 0
: 0978 = : 978
: 00AB = :AB
- มีเลข 0 อยู่ในแถวติดกันสองกลุ่มขึ้นไปสามารถยุบ จำนวนกลุ่มนั้นๆ แล้วใส่แค่เพียงเครื่องหมาย :: แทนได้
เช่น 0000:0000:0000 = :: แต่จะมี:: ได้แค่ที่เดียวในตัวเลข IPv6 และจะต้องไม่
อยู่ท้ายสุด
จากหลักเกณฑ์ดังกล่าว สามารถเขียน IPv6 จาก
123C : 0456 : 0000 : 87FD : 0000 : 0000 : CCA2 : 34E2
เขียนใหม่เป็น 123C : 456 : 0 : 87FD : : CCA2 : 34E2
การแปลงเลข IPv4 เป็น IPv6 สามารถทำได้ดังนี้
IP 192 . 168 . 1 .1  : : 192 . 168 . 1 . 1

IPv6 แบ่งออกเป็น 3 ประเภท คือ
- Unicast จะเป็นการส่งข้อมูล แบบตัวต่อตัวโดยเลือกเป็นคู่ ๆ เฉพาะเจาะจง
- Multicast จะเป็นการส่งข้อมูลแบบทั่วถึง โดยการส่งหาทุกตัวในกลุ่ม
- Anycast จะเป็นการส่งข้อมูล แบบสุ่มเลือกหรือ คัดสรร ตัวที่ต้องการจะส่งให้เท่านั้น โดย Anycast จะ
เป็นส่วนหนึ่งของMulticast
IPv6 จะไม่มีการ broadcast


วิธีการคิด Subnet Mask


  ในการเช่าอินเทอร์เน็ต กับ ISP นั้นเราจะได้ IP มา 2 ชุด คือ ชุดที่ใช้ติดต่อกับ ISP(IP WAN)และ ชุดที่เป็น IP จริงให้เราใช้งาน ในที่นี้ ผม จะยกตัวอย่าง เน็ต ที่ องค์กร ผมเช่าอยู่ ผมเช่า กับ การสื่อสารแห่งประเทศไทย โดย ผมได้ หมายเลข IP WAN มาดังนี้ 61.19.193.200/30 และ IP LAN 61.19.194.240/29 ซึ่ง ตัวเลขที่อยู่ ข้างหลัง / ก็คือ Sub net mask นั่นเอง วิธีการ คิด Subnet mask มีดัง นี้ เช่น /30 หมายถึง 255.255.255.252 ส่วน /29 หมายถึง 255.255.255.248 โดยมีวิธี คิดดังนี้ IP เราแบ่งตัวเลขเป็น 4 ชุดโดยคั่นด้วย เครื่องหมาย . โดยมีชุดละ 8 บิต และตัวเลขแต่ละชุด จะมีค่า ตั้งแต่ 0-255 ทีนี้เราลองมาดูกันว่า เราจะเอาเลขข้างหลังเครื่องหมาย / มาตีความเป็น ตัวเลขได้ ยังงัย และที่สำคัญ Subnet mask ยังเป็นตัว กำหนด จำนวนเครื่อง ที่ จะสามารถ ใช้ IP จริง ในเครือข่ายเรา ว่าสามารถ มีได้ กี่เครื่อง อีกด้วย



ตัวอย่างที่ 1
          61.19.193.0/24 ซึ่งในที่นี้ หมายเลข IP ที่เราได้มาก็คือ 61.19.193.0 ส่วน Subnet mask ก็คือ 255.255.255.0 -> มาจาก อย่างที่เราบอกตั้งแต่ต้น นะครับ ว่า มี 4 ชุด ชุด ละ 8 บิต ดังนั้น ในที่นี่ /24 ย่อมหมายถึง 24 บิต เมื่อเรา เอา 8 มาหาร ก็ จะได้ 3 ชุด ใช่มั๊ย ครับ และ แต่ละ ชุด จะมีค่าตั้งแต่ 0-255 ดังนั้น ตัวอย่างนี้ เรา หารออกมาได้ 3 ชุดเต็มๆ ไม่มี เศษ ฉะนั้น ค่าตัวเลขของแต่ละ ชุด จึงเป็นค่าเลขสูงสุด คือ 255 เมื่อเรานำแต่ละชุดมาเชื่อมกัน จึงได้ 255.255.255.0 เนื่องจากเลขชุดที่ 4 ไม่มีเศษ จึงมีค่าเป็น 0 โดย ปริยาย จากตัวอย่าง เครือข่ายเรา สามารถ มีเครื่องที่ใช้ IP จริงได้ 256 IP แต่สามารถใช้งานจริงๆได้เพียง 254 IP เท่านั้น คือ 1-254 เพราะ แบ่งเป็น IP Broadcast 2 IP คือ 0 กับ 255


ตัวอย่างที่ 2
          61.19.194.240/29 จากตัวอย่าง นี้ เมื่อเรา นำ 8 มาหาร เราก็ จะได้ 3 กับเศษ อีก 5 แน่นอน ครับ ว่า IP 3ชุดแรก ของ Subnet mask ของเรา ต้องเป็น 255.255.255 แน่นอน ทีนี้มาดู นะครับ ว่า เศษ 5 ที่เหลือ จะแปลงเป็น ตัวเลขได้อย่างไร แต่ บางคนอาจสงสัย ว่า เศษ 5 มาได้ อย่าง ไร เศษ 5 มา จาก นี้ ครับ /29 เมื่อ หาร 8(อย่างที่บอกข้างต้นว่า แต่ละชุด มี 8 บิต เราจึงใช้ 8 หาร) จะได้ 3 ชุด ชุดละ 8 ก็ คือ 24 (8X3) เมื่อเรานำ 29 มาลบ ก็จะเหลือ 5 บิตนั่นเอง ทีนี้เรามาดูว่า ค่าแต่ ละ บิต นั้นมีค่าเท่า ไร โดยเริ่มจาก ซ้ายมาขวา นะครับ
ค่าตัวเลขประจำบิต บิตท ี่1 = 128 บิตท ี่2 = 64 บิตที่ 3 = 32 บิตที่ 4 = 16 บิตท ี่5 = 8 บิตที่ 6 = 4 บิตท ี่7 = 2 บิตที่ 8 = 1 อย่างที่เห็น นะครับ ว่า เมื่อเรานำค่าตัวเลขทั้ง 8 บิต มารวมกัน จะได้ 255 พอดี ทีนี้ มาดูนะครับ ว่า เศษ 5 ของเรา มีค่าเท่าไร เราก็นำค่าประจำบิต มาบวกกันก็จะได้ ค่าแล้ว ครับ เศษ 5 บิต = 128+64+32+16+8 ผลลัพธ์คือ 248 ฉะนั้น ค่าชุดที่ 4 ของเรา ก็ คือ 248 เมื่อ นำค่าทั้งหมดมาเชื่อมกัน ก็ จะได้ Subnet mask คือ 255.255.255.248 ดังนั้นเครือข่าย นี้ สามารถ มี เครื่องที่ใช้ IP จริง ได้ ทั้งหมด 8 IP (255-248) แต่ใช้งาน จริงๆได้ เพียง 6 IP ตั้งแต่ IP หมายเลข 61.19.194.241-61.19.194.246 แบ่งเป็น Broadcast 2 IP คือ IP หมายเลข 61.19.194.240 กับ 61.19.194.247

ไม่มีความคิดเห็น:

แสดงความคิดเห็น