Sunday, December 2, 2007

พื้นฐาน Protocol TCP/IP และ IP Address

บทความโดย: Thai Windows Administrator Blog

Protocol หรือ TCP/IP หรือ IP Address เป็นสิ่งที่คุ้นเคยกันเป็นอย่างดีกับชาวชาวไอทีอย่างเราๆ ท่านๆ วันนี้ผมเลยรวบรวมความรู้พื้นฐานเกี่ยวกับ 3 สิ่งนี้มาฝากกัน โดยเฉพาะเรื่องที่ค่อนข้างซับซ้อนอย่างเรื่อง Subnet และ Sunnet Mask หวังว่าคงเป็นประโยชน์ไม่มากก็น้อย

Protocol
Protocol คือ ระเบียบวิธีการที่กำหนดขึ้นสำหรับสื่อสารข้อมูล ให้สามารถแลกเปลี่ยนข้อมูลกันได้อย่างถูกต้อง

Transmission Control Protocol (TCP)
เป็น Protocol ที่ให้บริการแบบ Connection-Oriented คือจะทำการสร้างการเชื่อมต่อระหว่างต้นทาง (Source) และ ปลายทาง (Destination) ก่อนที่จะทำการรับส่งข้อมูล และจะทำการส่งข้อมูลทั้งหมดจนแล้วเสร็จ ทำให้มีความน่าเชื่อถือมาก

Internet Protocol (IP)
เป็น Protocol ที่ทำหน้าที่จัดการเกี่ยวกับการรับ-ส่ง Packet เป็น Protocol ที่ให้บริการแบบ Connectionless คือจะไม่ทำการสร้างการเชื่อมต่อระหว่างต้นทาง (Source) และ ปลายทาง (Destination) ก่อนที่จะทำการรับส่งข้อมูล กล่าวคือในการส่งข้อมูลแต่ละครั้งนั้น Source จะทำการส่งข้อมูลออกไปยัง Destination เลยโดยไม่ได้ทำการตกลงกันก่อน ทำให้มีความน่าเชื่อถือน้อยเพราะข้อมูลอาจสูญหายระหว่างทางได้

Media Access Control (MAC) Address
MAC Address คือ หมายเลขประจำตัวของอุปกรณ์ที่ต่ออยู่ในเครื่อข่าย ซึ่งกำหนดมาจากบริษัทผู้ผลิต H/W เป็นตัวเลขฐาน 16 จำนวน 12 ตัว ซึ่งจะไม่ซ้ำกันและแก้ไขไม่ได้

IP Address
IP Address หรือ หมายเลขไอพี คือ หมายเลขประจำตัวที่ใช้ในการระบุตัวตนของอุปกรณ์ต่างๆ เช่น computer, router และ server ที่อยู่ในเครื่อข่าย ซึ่งปัจจุบันที่ใช้งานอยู่นี้จะเป็นเวอร์ชั่น 4 (IPV4) ซึ่งจะต่างกับ MAC Address ตรงที่ค่า IP Address นั้นสามารถแก้ไขเปลี่ยนแปลงได้ แต่ในเครื่อข่ายเดียวกันต้องไม่ซ้ำกันต้อง
IP Address เป็นชุดตัวเลขฐานสองขนาด 32 บิต โดยเพื่อให้ง่ายในการจำจึงแบ่งออกเป็น 4 ส่วนๆ ละ 8 บิต (หรือ 1 Byte) คั่นแต่ละส่วนด้วยจุด (.) แล้วแทนค่าเป็นเลขฐาน 10 แต่ละส่วนมีค่าอยู่ระหว่าง 0 - 255 ตัวอย่างเช่น 11000000.00000001.00000010.00000011 เขียนแทนค่าเป็นเลขฐาน 10 ได้เป็น 192.1.2.3

Class ของ IP Address
IP Address นั้นจะแบ่งออกเป็น 5 classes คือ A, B, C, D และ E แต่ขณะนี้ใช้เพียง 3 classes คือ Class A, Class B และ Class C ซึ่งค่า IP Address นั้นจะแบ่งออกเป็น 2 ส่วน ดังรูปด้านล่าง ส่วนแรกเป็น Network number ส่วนที่สองเป็น Host number คือ คอมพิวเตอร์ที่อยู่ในเครือข่ายนั้น


รูปที่ 1 Class ของ IP Address

IP Address Class A
Class A ใช้ไบต์แรก (8 bit) เป็น Network number และให้บิตแรก เป็น 0 จึงมี Network number ระหว่าง 0 - 127 (126 เครือข่าย) ส่วน Host number ใช้ 3 ไบต์ (24 บิต) จึงมีคอมพิวเตอร์ในเครือข่ายได้ถึง 16,777,124 เครื่อง เหมาะสำหรับเครือข่ายส่วนบุคคล
ช่วงของ IP Address ใน Class A คือ ตั้งแต่ 1.0.0.0 - 127.255.255.255


รูปที่ 2 IP Address Class A

IP Address Class B
Class B ใช้ 2 ไบต์แรก (16 bit) เป็น Network number และให้ 2 บิตแรก เป็น 10 จึงมี Network number เท่ากับ 2 ยกกำลัง (16-2) หรือ 16,382 เครือข่าย ส่วน Host number ใช้ 2 ไบต์ (16 bit) จึงมีคอมพิวเตอร์ในเครือข่ายได้ถึง 65,534 เครื่อง
ช่วงของ IP Address ใน Class B คือ ตั้งแต่ 128.0.0.0 - 191.255.255.255


รูปที่ 3 IP Address Class B

IP Address Class C
Class C ใช้ 3 ไบต์แรก (24 bit) เป็น Network number และให้ 3 บิตแรก เป็น 110 จึงมี Network number เท่ากับ 2 ยกกำลัง (24-3) หรือ 2,097,152 เครือข่าย ส่วน Host number ใช้ 1 ไบต์ (8 bit) จึงมีคอมพิวเตอร์ในเครือข่ายได้ถึง 254 เครื่อง
ช่วงของ IP Address ใน Class C คือ ตั้งแต่ 192.0.0.0 - 223.255.255.255


รูปที่ 4 IP Address Class C

IP Address Class D
Class D จะกำหนดให้ 4 บิตแรก เป็น 1110 ใช้ในการทำ Multicasting ช่วงของ IP Address ใน Class D คือ ตั้งแต่ 224.0.0.0 - 239.255.255.255

IP Address Class E
Class E จะกำหนดให้ 5 บิตแรก เป็น 11110 โดยสงวนไว้สำหรับอนาคต ช่วงของ IP Address ใน Class E คือ ตั้งแต่ 240.0.0.0 - 247.255.255.255

Private IP Address
Private IP Address คือ IP Address ที่กำหนดขึ้นสำหรับการใช้งานส่วนตัวหรือภายในองค์กร โดยสามารถใช้งานได้เลยโดยไม่ต้องทำการลงทะเบียน ซึ่งค่า Private IP Address นี้หากมีการส่งข้อมูล (Packet) โดยส่วนมากแล้ว Router จะทำการ Drop ทิ้งไปเอง หรือไม่ก็จะทำการส่งต่อไปเรื่อยๆจนหมดอายุไปเอง ค่า IP Address ที่กำหนดให้เป็น Private IP Address นั้นมี ดังนี้
Class A10.0.0.0 - 10.255.255.255
Class B172.16.0.0 - 172.31.255.255
Class C192.168.0.0 - 192.168.255.255

IP Address version 6
IP address เวอร์ชั่น 4 (IPV4) ซึ่งใช้อยู่ปัจจุบันนั้น ทางทฤษฏีสามารถใช้ได้จำนวน 232 เครื่อง แต่จากการแบ่งออกเป็น Class ย่อย และการเพิ่มจำนวนเครื่องคอมพิวเตอร์อย่างมากมาย เป็นผลให้ จำนวน IP Address จะมีไม่เพียงพอต่อความต้องการใช้งาน โดยทางแก้ของปัญหานี้ทำได้โดยการเพิ่มจำนวนบิตขึ้น และเรียกว่า IPv6 โดยจะมีขนาด 128 bit

Subnet และ Subnet Mask
Subnet คือ การแบ่งเครื่อข่ายใหญ่ให้เป็นหลายเครื่อข่ายย่อยโดยการนำเอาบิตที่เป็นส่วนของ Host ID มาเป็น Network ID ผลที่ได้ คือ จำนวน Network ID หรือ เครื่อข่ายจะเพิ่มขึ้น แตจำนวนของ Host ID หรือ เครื่องคอมพิวเตอร์จะลดลง
Subnet Mask คือ ตัวเลขที่ใช้แสดงว่าส่วนไหนของ IP Address เป็น Network ID และส่วนไหนเป็น Host ID ซึ่ง Subnet Mask จะมีความยาวเท่ากับ IP Address คือ 32 bit โดยในส่วน Network ID นั้นทุก bit จะเป็น 1 และในส่วน Host ID นั้นทุก bit จะเป็น 0


รูปที่ 5 Subnet & Subnet Mask

โดยค่าดีฟอลท์ Net Mask ของแต่ละคลาสนั้นมีดังนี้


รูปที่ 6 Default Net Mask

วิธีการหรือขั้นตอนการทำ Subnet นั้นจะเริ่มต้นจากจากบิตที่มีค่าสูงก่อน ตัวอย่างเช่น เมื่อนำ IP Address class C มาทำ Subnet จะได้ดังนี้


รูปที่ 7 Class C subnet

วัตถุประสงค์หรือเหตุผลในการต้องทำ Subnet นั้น ก็เพื่อให้ง่ายต่อการจัดการระบบเครือข่าย และป้องกันการมีข้อมูลที่ไม่จำเป็นมากเกินไปในเครื่อข่าย โดยเฉพาะใน Class A และ B ซึ่งมีจำนวน Host ได้ 16,777,124 และ 65,534 ตามลำดับ ซึ่งถ้าไม่ทำการแบ่ง Subnet แล้วเครื่อข่ายจะใหญ่มาก ทำให้ปริมาณ Broadcast มากเกินไป
โดยการทำ Subnet นั้นมีหลักการอยู่ 2 ข้อ คือ
1. หมายเลขส่วนที่เป็น Subnet (Subnet ID) นั้นไม่สามารถเป็น 0 ได้ทั้งหมด โดยหากเป็น 0 ทั้งหมดจะเป็นการอ้างถึง " Network "
2. หมายเลขส่วนที่เป็น Subnet (Subnet ID) นั้นไม่สามารถเป็น 1 ได้ทั้งหมด โดยหากเป็น 1 ทั้งหมดจะใช้สำหรับการ " Broadcast "

วิธีการระบุ Network ของ Subnet
การระบุ Network ของ Subnet นั้นทำได้โดยการ AND กันระหว่าง IP Address กับ Subnet Mask เช่น IP Class B 172.20.33.24 และ Subnet Mask 255.255.224.0


รูปที่ 8 วิธีการระบุ Network ของ Subnet

การคำนวณจำนวน Network และ Host
จำนวน Host ใน Subnet = 2n - 2 เมื่อ n คือ จำนวน bit ของหมายเลข Host
จำนวน Subnet = 2n - 2 เมื่อ n คือ จำนวน bit ของหมายเลข Subnet

Keywords: TCP/IP IP Address IPv4 IPv6 Subnet Mask

© 2007 All Rights Reserved.

0 Comment: