วันจันทร์ที่ 9 กุมภาพันธ์ พ.ศ. 2552

IP Address

ก่อน ที่จะไปทำความรู้จักกับ Subnetmask เราจะต้องมาทำความเข้าใจ กับ เรื่องของ IP Address เสียก่อน เพราะไม่งั้นท่านทั้งหลายจะงง และหลงทางมาก ถ้าไม่ทำความเข้าใจกับ เรื่องของ IP Address ให้ดีเสียก่อน

IP Address คืออะไร

IP Address คือหมายเลขประจำเครื่องคอมพิวเตอร์ ซึ่งประกอบด้วยตัวเลข 4 ชุด มีเครื่องหมายจุดขั้นระหว่างชุด เช่น 192.168.100.1 หรือ 172.16.10.1 เป็นต้น
มาตรฐานของ IP Address ปัจจุบันเป็นมาตรฐาน version 4 หรือที่เรียกกันสั้น ๆ ว่า IPv4 วึ่งกำหนดให้ ip address มีทั้งหมด
32 bit หรือ 4 byte แต่ล่ะ byte จะถูกคั่นด้วยจุด (.) ภายในหมายเลขที่เราเห็นยังถูกแบ่งออกเป็น 2 ส่วนดังนี้

1. Network Address หรือ Subnet Address
2. Host Address

บนเครื่อง computer ที่ใช้ TCP/IP Protocol จะมีหมายเลข IP Address กำกับอยู่ address นี้ เป็นอยู่ใน Layer 3 ของ OSI model ซึ่งสามารถเปลี่ยนแปลงได้ตลอดเวลา (Logical address) และบนเครื่อง computerไม่ว่าจะใช้ Protocol ใด ๆ ก็ตามจะต้องมีหมายเลข ที่เรียกว่า MAC Address ประจำอยุ่ที่ Network card เสมอ MAC Address นี้เป็น Hardware Address ที่เปลี่ยนแปลงไม่ได้ เว้นแต่จะเปลี่ยน Network card

Class ของแต่่ะ IP Address


Class IP Address Network Address Host Address
A w.x.y.z w x.y.z
B w.x.y.z w.x y.z
C w.x.y.z w.x.y z

คำถาม: ทำไมต้องแบ่งเป็น Classต่าง ๆ เพื่ออะไร

เพื่อความเป็นระเบียบไงครับ ทางองค์กรกลางที่ดูแลเรื่องของ IP Address จึงได้มีการจัด Class หรือ หมวดหมู่ของ IP Address
ไว้ทั้งหมด 5 Class โดย Class ของ Address จะเป็นตัวกำหนดว่า Bit ใดบ้างใน หมายเลข IP Addressที่ต้องถูกใช้เพื่อ
เป็น Network Address และ Bit ใดบ้าง ที่ต้องถูกใช้เป็น Host Address นอกจากนั้น Class ยังเป็นตัวกำหนดด้วยว่า
จำนวนของ Network Segment ที่มีได้ใน Class นั้น ๆ มีเท่าไร และจำนวนของเครื่องคอมพิวเตอร์ที่สามารถมีได้ ภายใน
Network Segment นั้น ๆ มีเท่าไร

Class D

Class นี้จะไม่ถูกนำมาใช้กำหนดให้กับเครื่องคอมพิวเตอร์ทั่วไป แต่จะถูกใช้สำหรับการส่งข้อมูลแบบ Multicast
ของบาง Application


Multicast คือ เป็นการส่งจากเครื่องต้นทางหนึ่งไปยัง กลุ่ม ของเครื่องปลายทางอีกกลุ่มหนึ่ง แต่ไม่ใช่ ทุกเครืองใน Network Segment นั่น ๆ
Class E

Class นี้เป็น Address ที่ถูกสงวนไว้ก่อน ยังไม่ถูกใช้งานจริง ๆ

วิธีสังเกต ว่า IP Address นี้อยู่ Class อะไร

• ถ้า Byte แรก ซ้ายสุดเป็น ตัวเลข 1-126 แสดงว่าเป็นหมายเลข IP Address ที่อยุ่ใน Class A
(IP address 127 นั่น จะเป็น Loopback Address ของ Class นี้น่ะครับหรือ ของคอมท่านเอง )

• ถ้า Byte แรก ซ้ายสุดเป็น ตัวเลข 128-191 แสดงว่าเป็นหมายเลข IP Address ที่อยุ่ใน Class B

• ถ้า Byte แรก ซ้ายสุดเป็น ตัวเลข 192-223 แสดงว่าเป็นหมายเลข IP Address ที่อยุ่ใน Class C

• ส่วน 224 ขึ้นไปจะเป็น Multicast Address ที่กล่าวไว้ข้างต้น

อย่างที่ทราบกันดีน่ะครับว่า Network Segment ของ องค์กรที่ต้องติดต่อกับ internet ภายนอก จะต้องใช้ Public IP Address ที่ได้ รับการจัดสรร จาก ISP (Internet Service Provider) หรือจากหน่วยงานที่ท่ารับผิดชอบ

สำหรับ Network ภายในทไมไ่ด้เชื่อมต่อกับ internet โดยตรง เราสามารถใช้ Address ที่ขึ้นต้นด้วย IP Address เหล่านี้ Address ดังกล่าวจะถูกสงวน (reserved) ไว้สำหรับใช้ใน Network ภายในเท่านั้น
ช่วงของ IP Address Class ของ Network จำนวนของ Network ที่เป็นไปได้
10.0.0.0 - 10.255.255.255 A 1 Class A
172.16.0.0 - 172.31.255.255 B 16 Class B
192.168.0.0 - 192.168.255.255 C 256 Class C

Private Address ดังกล่าวได้รับการกำหนดไว้ใน มาตรฐาน RFC 1918
เอา ล่ะครับ หลังจากที่เราทำความรู้จัก ในเรื่องของ IP Address อย่างดีแล้ว คราวนี้ล่ะได้เริ่ม เกี่ยวกับ Subnet ซะที กว่าจะมาถึงจุดนี้ก็ต้องเหนื่อยกันหน่อยน่ะ อย่าท้อน่ะครับ นี่เพิ่งจะเริ่มเอง
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 ได้น่ะครับให้สามารถใช้งานได้ แต่ทีผมแนะนำให้ ลบออกสอง คือในทางทฤษฏี น่ะครับ แต่ก็ควรทำน่ะ

มาถึงจุดนี้ก้ต้องทำได้กัน้บางแล้วน่ะครับ แต่มันยังไม่จบหรอกน่ะครับ ยังมีความซับซ้อนมากขึ้นไปอีก

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

สบายๆสไตล์ของฉัน