วันอาทิตย์ที่ 22 พฤศจิกายน พ.ศ. 2558

หลักการและวิธีการแก้ปัญหาด้วยเทคโนโลยีสารสนเทศ


ปัจจุบันมนุษย์นำเทคโนโลยีสารสนเทศเข้ามาใช้ในชีวิตมากขึ้น เช่น นักเรียนสามารถจะเรียนรู้บทเรียนออนไลน์เพิ่มเติมจากในชั้นเรียนได้ตลอดเวลาสามารถตรวจสอบข้อมูลและเปรียบเทียบราคาของสินค้าทางอินเทอร์เน็ตก่อนเลือกซื้อ เพื่อให้เกิดความคุ้มค่าในการจ่ายเงินวางแผนการเดินทางได้จากแผนที่ในอินเทอร์เน็ต เป็นต้น จะเห็นได้ว่าเทคโนโลยีสารสนเทศเป็นเครื่องมือที่ช่วยแก้ปัญหาที่เกิดขึ้นในชีวิตประจำวันของมนุษย์ได้ อย่างรวดเร็วและแม่นยำ ซึ่งการแก้ปัญหาด้วยกระบวนการเทคโนโลยีสารสนเทศเป็นการแก้ปัญหาอย่างเป็นขั้นตอนโดยใช้กระบวนการทางเทคโนโลยีสารสนเทศมาช่วย
1. กระบวนการเทคโนโลยีสารสนเทศ
เทคโนโลยีสารสนเทศ (Information Technology) คือ การประยุกต์เอาความรู้ทางวิทยาศาสตร์มาจัดการสารสนเทศที่ต้องการ ได้แก่ การรวบรวม ตรวจสอบ ดูแลรักษา ประมวลผลข้อมูล การนำสารสนเทศไปใช้งาน และ การเผยแพร่สารสนเทศ โดยอาศัยเครื่องมือทางเทคโนโลยี ได้แก่ เทคโนโลยีคอมพิวเตอร์ (Computer Technology) สำหรับจัดการข้อมูล (การรวบรวม ตรวจสอบ ประมวลผล ดูแลรักษา และการปรับปรุงข้อมูล) และเทคโนโลยีการสื่อสารโทรคมนาคม (Communication Technology) สำหรับจัดการสารสนเทศ (การเผยแพร่สารสนเทศเพื่อเพิ่มประสิทธิภาพ ความถูกต้อง แม่นยำ และความรวดเร็วทันต่อการนำไปใช้ประโยชน์)
กระบวนการเทคโนโลยีสารสนเทศ คือ การจัดการข้อมูลและสารสนเทศโดยใช้เทคโนโลยีคอมพิวเตอร์และเทคโนโลยีการสื่อสารโทรคมนาคม ซึ่งมีขั้น ตอนทั้ง หมด 6 ขั้น ตอน ดังนี้
1.1 การรวบรวมข้อมูล คือการเสาะหาข้อมูลหรือข้อเท็จจริงที่เกิดขึ้นมารวมกันซึ่งการรวบรวมข้อมูลสามารถทำได้โดยการเก็บรวบรวมข้อมูลด้วยตนเอง หรือจากแหล่งที่มีผู้รวบรวมไว้แล้วและนำเข้าสู่ระบบคอมพิวเตอร์ ซึ่งการรวบรวมข้อมูลด้วยตนเอง ทำได้ 2 วิธี ดังนี้
1) การเก็บรวบรวมข้อมูลด้วยการสังเกต
2) การเก็บรวบรวมข้อมูลด้วยการสอบถาม
1.2  การตรวจสอบข้อมูล เป็นการตรวจสอบ บันทึกข้อมูลในระบบ ว่ามีความถูกต้อง ไม่มีข้อผิดพลาดซึ่งหากพบความผิดพลาดของข้อมูล ก็จะต้องทำการแก้ไข เนื่องจากข้อมูลที่เก็บเข้าในระบบจะต้องมีความถูกต้องและน่าเชื่อถือ เพราะหากใส่ข้อมูลที่ผิดให้แก่ระบบคอมพิวเตอร์ผลลัพธ์ที่ได้จากระบบย่อมผิดพลาดเช่นกัน
1.3  การดูแลรักษาข้อมูล เมื่อรวบรวมข้อมูลและตรวจสอบข้อมูลแล้ว จากนั้น จะต้องมีการดูแลรักษาข้อมูลให้คงอยู่ รวมทั้ง ทำให้สามารถประมวลผลข้อมูลนั้นได้อย่างรวดเร็ว ซึ่งการดูแลรักษาข้อมูลทำได้ ดังนี้
1) การจัดเก็บข้อมูล หมายถึง การป้อนข้อมูลในเครื่องคอมพิวเตอร์ รวมถึงการบันทึกข้อมูลไว้ในหน่วยเก็บข้อมูลสำรอง เช่น ฮาร์ดดิสก์ ซีดี ดีวีดี แฟลชไดร์ฟ เป็นต้น เพื่อให้ผู้ใช้สามารถเรียกใช้ภายหลังได้
2) การทำสำเนาข้อมูล คือ การคัดลอกข้อมูลจากแฟ้มต้นฉบับและบันทึกไว้ในหน่วยเก็บข้อมูลสำรอง เพื่อใช้ในกรณีที่เครื่องคอมพิวเตอร์เสียหาย ซึ่งอาจทำให้มีข้อมูลสูญหายไปได้ ส่วนใหญ่ข้อมูลที่สำคัญมักจะมีการสำรองไว้ทุกวันหรือทุกสัปดาห์ ซึ่งแฟ้มข้อมูลที่คัดลอกมาสำเนาไว้ใช้นั้น เรียกว่า แฟ้มข้อมูลสำรอง (Backup File)
1.4  การประมวลผลข้อมูลเป็นการกระทำของเครื่องคอมพิวเตอร์กับข้อมูล เช่น การรวบรวมเป็นแฟ้มข้อมูล การคำนวณ การเปรียบเทียบ การเรียบลำดับ การจัดกลุ่มข้อมูล การจัดทำสารสนเทศ รายงาน เป็นต้น เพื่อให้ได้สารสนเทศที่นำไปใช้ในการติดสินใจได้
1.5 การนำสารสนเทศไปใช้งา เป็นการนำสารสนเทศซึ่งอยู่ในรูปแบบที่มีความหมายและสามารถนำไปใช้ในการตัดสินใจได้อย่างมีประสิทธิภาพ ซึ่งสารสนเทศที่นำไปใช้ประโยชน์อาจนำเสนอในรูปแบบต่างๆ ดังนี้
1) นำเสนอด้วยรูปแบบของตาราง
2) นำเสนอด้วยแผนภูมแท่ง
3) นำเสนอด้วยกราฟแท่ง
4) นำเสนอด้วยแผนภูมิวงกลม
                1.6 การเผยแพร่สารสนเทศ เป็นขั้น ตอนสุดท้ายที่นำสารสนเทศไปใช้ประโยชน์กับผู้ใช้ ซึ่งอยู่ห่างไกลได้อย่างทันท่วงที ซึ่งปัจจุบันนิยมส่งผ่านทางอินเทอร์เน็ต เนื่องจากเป็นเครือข่ายคอมพิวเตอร์ที่ครอบคลุมทั่วโลก เช่น การส่งผ่านทางจดหมายอิเล็กทรอนิกส์ การส่งข้อมูลผ่านโปรแกรมการสนทนา การเผยแพร่ข้อมูลผ่านเว็บไซต์ การเผยแพร่ข้อมูลผ่านสังคมออนไลน์ เป็นต้น
2. การใช้คอมพิวเตอร์แก้ปัญหา
ปัจจุบันจะเห็นได้แล้ว่าซอฟต์แวร์สามารถแก้ปัญหาต่างๆ ที่เกิดขึ้นในชีวิตประจำวันได้ เช่น ซอฟต์แวร์การยืมคืนหนังสือในห้องสมุด ช่วยแก้ปัญหาเรื่องการเข้าแถวเพื่อยืมคืนหนังสือและการค้นหาหนังสือจากบัตรรายการได้ช้า เป็นต้น ซึ่งการใช้คอมพิวเตอร์ในการแก้ปัญหา ก็คือการใช้ซอฟต์แวร์ประยุกต์ และการพัฒนาซอฟต์แวร์ประยุกต์นั่นเอง
2.1 การเลือกใช้ซอฟต์แวร์ประยุกต์ เป็นการจัดหาซอฟต์แวร์ประยุกต์สำเร็จรูป ซึ่งมีผู้พัฒนาให้เหมาะสมสำหรับงานทั่วๆไป ผู้ใช้สามารถนำซอฟต์แวร์ดังกล่าวมาประยุกต์ใช้กับงานส่วนตัวได้อย่างหลากหลายทำให้ซอฟต์แวร์ประยุกต์ได้รับความนิยมสูงสุดในปัจจุบัน การจัดหาซอฟต์แวร์อาจทำได้โดยการดาวน์โหลดมาใช้งานฟรีการซื้อหรือเช่าซอฟต์แวร์ประยุกต์สำเร็จรูปที่พัฒนาขึ้น มีทั้งซอฟต์แวร์ที่ออกแบบสำหรับงานที่ง่าย เช่นไมโครซอฟต์เวิร์ด สำหรับงานพิมพ์และแก้ไขเอกสารไมโครซอฟต์เอ็กซ์เซล สำหรับการคำนวณและสร้างกราฟ เป็นต้น จนถึงงานที่ซับซ้อน เช่น ซอฟต์แวร์การยืม-คืนหนังสือห้องสมุด ซอฟต์แวร์การฝาก-ถอนเงินของธนาคาร เป็นต้น
2.2 การพัฒนาซอฟต์แวร์ประยุกต์ เป็นการเขียนโปรแกรมด้วยภาษาคอมพิวเตอร์ สำหรับใช้งานในหน่วยงาน ซึ่งปัจจุบันภาษาคอมพิวเตอร์มีให้เลือกใช้หลายภาษา ซึ่งแต่ละภาษามีจุดเด่นแตกต่างกันไปการพัฒนาซอฟต์แวร์ประยุกต์ สามารถทำได้ ดังนี้
1) การพัฒนาโปรแกรมขึ้นเอง เป็นการเขียนโปรแกรมของบุคลากรในหน่วยงานขึ้นมาใช้งานเอง ดังนั้นโปรแกรมที่พัฒนาขึ้นจะตรงกับความต้องการของผู้ใช้งานมาก ทั้งนี้หน่วยงานนั้นจะต้องมีผู้เชี่ยวชาญด้านการเขียนโปรแกรม จึงเหมาะสำหรับหน่วยงานขนาดใหญ่
2) การว่าจ้างบริษัทพัฒนาระบบ เป็นการว่าจ้างบริษัทที่มีความเชี่ยวชาญมาพัฒนาซอฟต์แวร์ให้ตรงกับความต้องการของผู้ใช้และทันเวลาที่กำหนด วิธีนี้เหมาะสำหรับหน่วยงานขนาดเล็ก หรือหน่วยงานที่ไม่มีผู้เชี่ยวชาญในการเขียนโปรแกรม
ตาราง เปรียบเทียบข้อดีข้อเสีย ในการเลือกใช้หรือการพัฒนาซอฟต์แวร์





3. ขั้นตอนการแก้ปัญหาด้วยคอมพิวเตอร์
การดำเนินชีวิตของมนุษย์อาจพบกับปัญหาแตกต่างกันไป เช่น ทำอาหารไม่เป็น การเบิกเงินจากตู้เอทีเอ็มไม่เป็น เป็นต้น ซึ่งแต่ละคนมีวิธีการแก้ปัญหาเพื่อให้ได้ผลลัพธ์ด้วยวิธีการที่แตกต่างกัน วิธีการต่างๆ ขึ้นอยู่กับความรู้ความสามารถและประสบการณ์ของบุคคลนั้นซึ่งแต่ละวิธีอาจให้ผลลัพธ์ที่แตกต่างกันไปคอมพิวเตอร์เป็นเครื่องมือสำคัญที่ช่วยให้การแก้ปัญหาของมนุษย์ทำได้รวดเร็วและมีประสิทธิภาพมากขึ้นแต่คอมพิวเตอร์จะประมวลผลได้ก็ต่อเมื่อมีซอฟต์แวร์หรือชุดคำสั่งที่ให้คอมพิวเตอร์ทำงานอย่างเป็นขั้นตอนคล้ายกับการแก้ปัญหาของมนุษย์ ดังนั้นจึงกล่าวได้ว่าคอมพิวเตอร์จะทำงานตามคำสั่งมนุษย์สร้างให้เท่านั้นปัจจุบันมนุษย์มักนำซอฟต์แวร์มาช่วยในการแก้ปัญหาทางคณิตศาสตร์และวิทยาศาสตร์ ซึ่งมีขั้นตอนการแก้ปัญหา 4 ขั้นตอน ดังนี้
3.1 การวิเคราะห์และกำหนดรายละเอียดของปัญหา (State the problem) เป็นขั้น ตอนแรกในการแก้ปัญหา ซึ่งเป็นขั้นตอนการทำความเข้าใจกับปัญหาเพื่อกำหนดรายละเอียดของปัญหาและวิเคราะห์ว่าสิ่งที่ต้องการหรือผลลัพธ์คืออะไร ข้อมูลนำเข้ามีอะไรบ้าง และการประมวลผลทำได้อย่างไรรวมถึงการกำหนดตัวแปรที่ใช้ในการแทนค่าข้อมูลด้วย ซึ่งลำดับของการวิเคราะห์ปัญหามีดังนี้
1) การระบุผลลัพธ์ ได้แก่ การระบุสิ่งที่โจทย์ต้องการ รวมถึงการกำหนดตัวแปรที่เป็น ผลลัพธ์
2) การระบุข้อมูลเข้า ได้แก่ การระบุข้อมูลที่ต้องป้อนเข้ามา เพื่อทำการประมวลผลให้ได้ผลลัพธ์ที่ต้องการ รวมถึงการกำหนดตัวแปรที่เป็นข้อมูลนำเข้าด้วย
3) การระบุวิธีประมวลผล ได้แก่ การพิจารณาขั้นตอนวิธีการที่จะได้มาซึ่งคำตอบหรือข้อมูลออก
                3.2 การเลือกเครื่องมือและออกแบบขั้นตอนวิธีการออกแบบขั้นตอนวิธี เป็นการออกแบบขั้นตอนในการแก้ปัญหา การอธิบายหรือการประมวลผลนั่นเอง ซึ่งปัญหาเดียวกันอาจมีการออกแบบคำสั่งที่ไม่เหมือนกันขึ้น อยู่กับประสบการณ์ของผู้แก้ไข แต่หากทำให้ได้ผลลัพธ์ที่ถูกต้องแล้ว ก็ถือว่าขั้นตอนวิธีสามารถแก้ปัญหาได้ การออกแบบขั้น ตอนวิธี มีเครื่องมือในการนำเสนอขั้นตอนวิธีที่แตกต่างกัน ดังนี้
1) การบรรยาย เป็นการเขียนบรรยายวิธีการแก้ไขปัญหาอย่างเป็นลำดับ ซึ่งง่ายต่อการเข้าใจของผู้แก้ปัญหา แต่หากมีการบรรยายที่ยืดเยื้อหรือไม่ได้ใจความจะทำให้ยากต่อการนำไปใช้
2) การเขียนผังงาน เป็นการนำเสนอวิธีการแก้ปัญหาโดยการนำขั้นตอนการประมวลผลมา
เขียนเป็นรูปแบบของแผนภาพ ซึ่งประกอบด้วยสัญลักษณ์ต่างๆ ที่มีการกำหนดไว้อย่างเป็นมาตรฐาน โดยสถาบันมาตรฐานแห่งชาติอเมริกา (ANSI) ซึ่งเป็นเครื่องมือที่สามารถแสดงรายละเอียดได้ชัดเจนกว่าการบรรยาย
                ผังงานที่นักเรียนจะได้ศึกษาสำหรับการแก้ปัญหา คือผังงานโปรแกรม ซึ่งส่วนให้นำมาใช้ในการแก้ปัญหาทางคณิตศาสตร์และกำหนดให้เครื่องคอมพิวเตอร์ทำงาน ดังนั้นผังงานโปรแกรมจึงเป็นผังงานที่แสดงลำดับขั้นตอนการทำงานในโปรแกรมนั่นเอง

การนำเสนอวิธีการแก้ปัญหาโดยการเขียนผังงาน มีหลักการดังนี้
1. ผังงานจะต้องมีจุดเริ่มต้น (start) และจุดสิ้นสุด (stop/end)
2. ทิศทางในการเขียนผังงานควรเริ่มจากบนลงล่าง หรือจากซ้ายไปขวา
3. ควรใช้หัวลูกศรกำกับทิศทางของผังงาน เพื่อให้เห็นทิศทางการทำงานที่ชัดเจน
4. มีการเขียนคำอธิบายการทำงานในแต่ละขั้นตอนโดยใช้ข้อความที่สั้นกะทัดรัดและชัดเจน
ตัวอย่างที่ 1 การวางแผนการไปโรงเรียนการจำลองความคิดเป็นข้อความ
เริ่มต้น
ตื่นนอน
อาบน้ำ
ไปโรงเรียน
จบ
การจำลองความคิดเป็นสัญลักษณ์



ตัวอย่างที่ 2 การจำลองความคิดในการหาผลบวกของ 1, 2, 3, …, 20 (นั่นคือ จะหาค่า 1+2+3+…+20)
การจำลองความคิดเป็นข้อความ
เริ่มต้น
1. กำหนดให้ N มีค่าเริ่มต้นเป็น 0
2. กำหนดให้ K มีค่าเริ่มต้นเป็น 1
3. นำค่า K มารวมกับค่า N เดิม ได้ผลลัพธ์เท่าไรไปเก็บไว้ที่ N
4. นำค่า 1 มารวมกับค่า K เดิม ได้ผลลัพธ์เท่าไรไปเก็บไว้ที่ K
5. เปรียบเทียบค่า K กับ 20 ถ้า K น้อยกว่าหรือเท่ากับ 20 ให้วนกลับไปทำในขั้นที่ 3 และทำคำสั่งถัดลงมาตามลำดับ แต่ถ้า K มากกว่า 20 ให้แสดงคำตอบ
จบ
การจำลองความคิดเป็นสัญลักษณ์

3) การเขียนรหัสจำลอง เป็นรหัสคำสั่งที่เขียนเลียนแบบคำสั่งโปรแกรมอย่างย่อ รหัสจำลองจะใกล้เคียงกับภาษาคอมพิวเตอร์ระดับสูง ดังนั้น นักเขียนโปรแกรมสามารถนำรหัสจำลองไปเขียนเป็นโปรแกรมด้วยภาษาคอมพิวเตอร์ได้สะดวกและรวดเร็วจากที่กล่าวมาแล้วจึงสามารถสรุปหลักการของการออกแบบขั้นตอนวิธีได้ ดังนี้
1. การเขียนขั้นตอนวิธีไม่มีรูปแบบที่แน่นอนตายตัว แต่ต้องเขียนเพื่อให้ได้ผลลัพธ์ที่ถูกต้อง
2. การเขียนขั้นตอนวิธีที่ดีควรสามารถนำไปแปลงเป็นโปรแกรมได้แบบบรรทัดต่อบรรทัด
3. การตรวจสอบขั้นตอนวิธีจะต้องสมมติข้อมูลหลายชุด แล้วนำไปประมวลผลผ่านขั้นตอนวิธี ซึ่งถ้าได้ผลลัพธ์ที่ถูกต้องหมายความว่าใช้ขั้นตอนวิธีทำงานได้ถูกต้อง
3.3 การดำเนินการแก้ปัญหาเป็นขั้นตอนของการลงมือแก้ปัญหาโดยการลงมือเขียนโปรแกรมด้วยภาษาคอมพิวเตอร์ หรือการพิมพ์ชุดคำสั่งโดยนักเขียนโปรแกรมจะนำผังงานหรือรหัสจำลองมาเป็นแนวทางในการเขียนโปรแกรม ขั้นตอนนี้ต้องอาศัยผู้ที่มีความเชี่ยวชาญซึ่งในขณะดำเนินการหากพบแนวทางที่ดีกว่าที่ออกแบบไว้ ก็สามารถปรับเปลี่ยนได้ทันทีภาษาคอมพิวเตอร์ในปัจจุบันที่ใช้ในการเขียนโปรแกรมมีหลายภาษามีรูปแบบคำสั่งที่แตกต่างกัน ซึ่งภาษาคอมพิวเตอร์มีความเหมาะสมกับงานแตกต่างกัน
ตาราง ตัวอย่างภาษาคอมพิวเตอร์และการใช้งาน


3.4 การตรวจสอบและปรับปรุงเป็นขั้นตอนทดสอบโปรแกรมด้วยชุดคำสั่งที่สมมติขึ้นมาหลายๆ ครั้งซึ่งอาจให้ผลลัพธ์ที่ผิดพลาด เรียกว่า ข้อผิดพลาดทางตรรกะ ซึ่งเมื่อพบข้อผิดพลาดของโปรแกรม ผู้เขียนโปรแกรมต้องกลับไปตรวจสอบและปรับปรุงขั้นตอนวิธีอีกครั้งหนึ่งปัญหาเป็นสิ่งหลีกเลี่ยงไม่ได้ การแก้ปัญหามีหลายวิธีขึ้นอยู่กับชนิดของงาน วิธีการแก้ปัญหาอย่างหนึ่งอาจแก้ปัญหาอีกอย่างหนึ่งไม่ได้ และการแก้ปัญหาบางอย่างอาจต้องใช้เทคโนโลยีสารสนเทศมาช่วยเพื่อให้สามารถแก้ปัญหาได้รวดเร็วขึ้นการแก้ปัญหาควรทำอย่างเป็นระบบ เพื่อไม่ให้เสียเวลา และสับสน การแก้ปัญหาด้วยกระบวนการเทคโนโลยีสารสนเทศอย่างมีประสิทธิภาพต้องทำและถ่ายทอดความคิดในการแก้ปัญหาอย่างมีขั้นตอน โดยริเริ่มจากการวิเคราะห์และกำหนดรายละเอียดของปัญหาการเลือกเครื่องมือและออกแบบขั้นตอนวิธีการดำเนินการแก้ปัญหา และการตรวจสอบและปรับปรุง
ที่มา : https://natayavp.files.wordpress.com

วันเสาร์ที่ 14 พฤศจิกายน พ.ศ. 2558

IP Address


IP Address 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 อะไร

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 จะต้องคำนวณได้อย่างแม่นยำและรวดเร็ว
ไอพีส่วนตัว (Private IP)

ไอพีส่วนตัวมีไว้สำหรับใช้งานภายในองค์กรเท่านั้น ไม่ว่าองค์กรนั้นจะมีขนาดใหญ่หรือเล็กเพียงใดก็ตาม ได้แก่
              ไอพีส่วนตัว คลาส A เริ่มตั้งแต่ 10.0.0.0 ถึง 10.255.255.255 สับเน็ตมาสต์ที่ใช้ได้ เริ่มตั้งแต่ 255.0.0.0 ขึ้นไป

ไอพีส่วนตัว คลาส B เริ่มตั้งแต่ 172.16.0.0 ถึง 172.31.255.255 สับเน็ตมาสต์ที่ใช้ได้ เริ่มตั้งแต่ 255.240.0.0 ขึ้นไป
ไอพีส่วนตัว คลาส C เริ่มตั้งแต่ 192.168.0.0 ถึง 192.168.255.255 สับเน็ตมาสต์ที่ใช้ได้ เริ่มตั้งแต่ 255.255.0.0 ขึ้นไป
             ไอพีส่วนตัวข้างต้นถูกกำหนดให้ไม่สามารถนำไปใช้งานในเครือข่ายสาธารณะ (Internet) ได้

ไอพีสาธารณะ (Public IP)
              ไอพีสาธารณะมีไว้สำหรับให้แต่ละองค์กร แต่ละบุคคล ต่างก็สามารถเชื่อมต่อเข้าหากัน รับส่งข้อมูลระหว่างกันผ่านเครือข่ายสาธารณะได้

การแปลงไอพี (NAT)
              เนื่องจากเมื่อแต่ละองค์กร แต่ละบุคคล ต่างก็ใช้งานไอพีส่วนตัวกับเครื่องคอมพิวเตอร์ของตนเอง ซึ่งส่งผลให้ไม่สามารถติดต่อกับเครือข่ายสาธารณะ (Internet) ได้ จึงทำให้องค์กรเหล่านี้จำเป็นต้องอาศัยการแปลงไอพี เพื่อช่วยให้เครื่องคอมพิวเตอร์ของตนเองสามารถเชื่อมต่อกับเครือข่ายสาธารณะได้ นอกจากนี้ไอพีสาธารณะเองก็มีอยู่อย่างจำกัด ทำให้เมื่อแต่ละองค์กร แต่ละบุคคลต้องการที่จะเชื่อมต่อเข้ากับเครือข่ายสาธารณะจะทำให้เกิดปัญหาไอพีสาธารณะไม่พอเพียงต่อการใช้งาน ดังนั้นเพื่อให้เกิดการใช้งานไอพีสาธารณะอย่างมีประสิทธิภาพ จึงจำเป็นต้องมีการแปลงไอพีส่วนตัวของแต่ละองค์กรให้สามารถแบ่งปันกันใช้งานไอพีสาธารณะที่มีอยู่อย่างจำกัด (Overloaded NAT) ในแง่ของความปลอดภัย การแปลงไอพีสามารถช่วยเพิ่มความปลอดภัยให้กับระบบเครือข่ายได้ เนื่องจากเครื่องคอมพิวเตอร์จากเครือข่ายสาธารณะทั้งหลาย จะไม่สามารถรู้จักไอพีที่แท้จริงของคอมพิวเตอร์ในองค์กร ทำให้ความเสี่ยงที่คอมพิวเตอร์ภายในองค์กรจะถูกโจมตีในแง่ต่างๆลดลงไปด้วย

ชื่อและเลข IP
             อินเตอร์เน็ตมีคอมพิวเตอร์ต่ออยู่เป็นล้านเครื่อง หลายท่านอาจตั้งข้อสงสัยว่าการที่เราส่งอีเมล์ไปยังปลายทางจะไปได้อย่างไร หรือเมื่อเราต้องการ LOGIN เข้าเครื่องอื่นที่อยู่บนเครือข่าย ระบบเครือข่ายรู้ได้อย่างไรว่าเครื่องนั้นอยู่ที่ใด

รหัสหมายเลข IP ประจำเครื่อง
             คอมพิวเตอร์ทุกเครื่องที่ต่ออยู่บนเครือข่ายจะมีหมายเลขรหัสประจำเครื่องหมายเลขรหัสนี้เรียกว่า IP number ตัวเลข IP แต่ละเครื่องทั่วโลกจะต้องไม่ซ้ำกันตัวเลขนี้จะได้รับการกำหนดเป็นกฎเกณฑ์ให้แต่ละองค์กรนำไปปฏิบัติ โดยผู้ที่จะสร้างเครือข่ายต้องทำการขอหมายเลขประจำเครือข่าย เพื่อมากำหนดส่วนขยายต่อสำหรับเครื่องเอาเอง

เช่น เครื่องคอมพิวเตอร์ SUN ที่ทำหน้าที่เป็นเกทเวย์สำหรับเมล์ของเครือข่ายนนทรี ชื่อ nontri มีหมายเลข IP เป็นตัวเลขประจำเครื่องนี้มีขนาด 32 บิต แบ่งเป็น 4 ฟิลด์ แต่ละฟิลด์จะมี 8 บิต แต่เมื่อเรียกรหัสหมายเลข IP นี้ ใช้ตัวเลขฐานสิบแบ่งเป็น 4 ตัว โดยมีจุด (.) คั่นระหว่างตัวดังนั้นจากตัวเลข 32 บิต ดังกล่าวเรียกได้เป็น 158.108.2.71
             ตัวเลขไบนารี 32 หลัก เป็นตัวเลขที่จดจำได้ยากแต่เครื่องคอมพิวเตอร์ก็ใช้เลขเหล่านี้ได้อย่างถูกต้อง แต่เมื่อกำหนดเลข 4 ฟิลด์ แต่ละฟิลด์มีขนาด 0-255 เมื่อดูแล้วจะทำให้จำได้ง่ายขึ้นชื่อและเลข IP- อินเตอร์เน็ตมีคอมพิวเตอร์ต่ออยู่เป็นล้านเครื่อง หลายท่านอาจตั้งข้อสงสัยว่าการที่เราส่งอีเมล์ไปยังปลายทางจะไปได้อย่างไร หรือเมื่อเราต้องการ LOGIN เข้าเครื่องอื่นที่อยู่บนเครือข่าย ระบบเครือข่ายรู้ได้อย่างไรว่าเครื่องนั้นอยู่ที่ใด

รหัสหมายเลข IP ประจำเครื่อง
             คอมพิวเตอร์ทุกเครื่องที่ต่ออยู่บนเครือข่ายจะมีหมายเลขรหัสประจำเครื่องหมายเลขรหัสนี้เรียกว่า IP number ตัวเลข IP แต่ละเครื่องทั่วโลกจะต้องไม่ซ้ำกันตัวเลขนี้จะได้รับการกำหนดเป็นกฎเกณฑ์ให้แต่ละองค์กรนำไปปฏิบัติ โดยผู้ที่จะสร้างเครือข่ายต้องทำการขอหมายเลขประจำเครือข่าย เพื่อมากำหนดส่วนขยายต่อสำหรับเครื่องเอาเอง

เช่น เครื่องคอมพิวเตอร์ SUN ที่ทำหน้าที่เป็นเกทเวย์สำหรับเมล์ของเครือข่ายนนทรี ชื่อ nontri มีหมายเลข IP เป็นตัวเลขประจำเครื่องนี้มีขนาด 32 บิต แบ่งเป็น 4 ฟิลด์ แต่ละฟิลด์จะมี 8 บิต แต่เมื่อเรียกรหัสหมายเลข IP นี้ ใช้ตัวเลขฐานสิบแบ่งเป็น 4 ตัว โดยมีจุด (.) คั่นระหว่างตัวดังนั้นจากตัวเลข 32 บิต ดังกล่าวเรียกได้เป็น 158.108.2.71
             ตัวเลขไบนารี 32 หลัก เป็นตัวเลขที่จดจำได้ยากแต่เครื่องคอมพิวเตอร์ก็ใช้เลขเหล่านี้ได้อย่างถูกต้อง แต่เมื่อกำหนดเลข 4 ฟิลด์ แต่ละฟิลด์มีขนาด 0-255 เมื่อดูแล้วจะทำให้จำได้ง่ายขึ้นใช้ชื่อดีกว่า- เพื่อให้ระบบการเรียกชื่อง่ายขึ้นและการบริหารเครือข่ายทำได้ดี จึงมีการกำหนดชื่นแทนรหัส IP โดยมีการตั้งชื่อสำหรับเครื่องคอมพิวเตอร์แต่ละเครื่องที่อยู่บนเครือข่าย เช่น nontri.ku.ac.th ซึ่งแทนหมายเลข 158.108.162 หรือเครื่อง maspar ซึ่งเป็นเครื่องคอมพิวเตอร์แบบขนานก็ใช้ชื่อ maspar.cpe.ku.ac.th โดยใช้แทนรหัส 158.108.162 ดังนั้นเครื่องที่ต่ออยู่บนเครือข่ายอินเตอร์เน็ตจะมีการตั้งชื่อเครื่องเพื่อให้รู้จักกันได้ง่ายขึ้น การตั้งชื่อมีการแบ่งเป็นลำดับขั้น ตัวที่อยู่ขวามือสุด คือชื่อย่อประเทศ เช่น th หมายถึงประเทศไทย

หมายเลขต้องห้าม
             เนื่องจากเครือข่ายก็อาจจำเป็นต้องใช้ IP Address ดังนั้น จึงจำเป็นต้องมีการจำกัดบางหมายเลขเพื่อใช้เป็นการภายใน ได้แก่
              1. Class A ตั้งแต่ 10.xxx.xxx.xxx

2. Class B ตั้งแต่ 172.16.xxx.xxx ถึง 172.31.xxx.xxx

3. Class C ตั้งแต่ 192.168.0.xxx ถึง 192.168.255.xxx
สำหรับภายในองค์กร ก็มีหมายเลขต้องห้ามเช่นกัน ได้แก่ 
             1. 127.xxx.xxx.xxx หมายเลขนี้ใช้สื่อสารกับตัวเอง2. 0.0.0.0

การแบ่ง Class ของเครือข่าย IP Address
             การติดต่อสื่อสารภายในเครือข่ายอินเตอร์เน็ต จะต้องมี IP Address สำหรับการส่งข้อมูลเพื่อติดต่อถึงกัน โดยตามปกติแล้ว IP Address จะมีการแบ่งออกเป็น 2 ส่วน คือ ส่วนที่บ่งบอกว่าเป็นหมายเลขเครือข่าย และหมายเลขเครื่องคอมพิวเตอร์ ซึ่งค่าของ IP Address จะมีการกำหนดค่าของ IP Address เป็นไบต์ (Byte) และกำหนดค่าด้วยเลขฐานสิบ ตัวอย่างเช่น IP Address 202.28.8.1 เป็นต้น

โดยการทำงานภายใน IP Address ยังมีการแบ่งออกเป็นระดับชั้น (Class) ต่าง ๆ 5 Class คือ Class A, B, C, D และ E ซึ่งในแต่ละ Class จะมี หมายเลข IP จะมีทั้งหมด 32 บิต แบ่งออกเป็น 4 ฟิลด์ โดยแต่ละฟิลด์จะมี 8 บิต ซึ่งการแบ่งเป็น 4ฟิลด์นั้น ความจริงเป็นการกำหนดหมายเลขของเครื่องเครือข่าย และหมายเลขของเครื่องคอมพิวเตอร์ รายละเอียดของแต่ละ Class มีดังนี้
               Class A: หมายเลขของ IP Address เริ่มตั้งแต่ 1.0.0.0-127.255.255.255 ซึ่งเหมาะสมสำหรับเครือข่ายที่มีขนาดใหญ่ เนื่องจากสามารถรองรับจะมีเครือข่ายได้ 126 เน็ตเวิร์ค และในแต่ละเครือข่ายสามารถมีเครื่องคอมพิวเตอร์ได้ประมาณ 16 ล้านเครื่อง ตัวอย่างเช่น ค่า IP Address ของ Class A เป็น 120.25.2.3 หมายถึง เครือข่าย 120 หมายเลขเครื่อง 25.2.3

 Class B: หมายเลขของ IP Address เริ่มตั้งแต่ 128.0.0.0-191.255.255.255 จะมีเครือข่ายขนาด 16384 เน็ตเวิร์ค และจำนวนเครื่องลูกข่ายในเครือข่ายได้ 64,516 เครื่อง ตัวอย่างเช่น ค่า IP Address ของ Class B เป็น 145.147.45.2 หมายถึง เครือข่าย 145.147 หมายเลขเครื่อง 45.2

 Class C: หมายเลขของ IP Address เริ่มตั้งแต่ 192.0.0.0-223.255.255.255 จะมีจำนวนเครือข่ายขนาด 2M+ เน็ตเวิร์ค และเครื่องลูกข่ายในแต่ละเครือข่ายได้ประมาณ 254 เครื่อง ตัวอย่างเช่น ค่า IP Address ของ Class C เป็น 202.28.10.5 หมายถึง หมายเลขเครือข่าย 202.28.10 หมายเลขเครื่อง 5

Class D:เป็นการสำรองหมายเลข IP Address ช่วง 224.0.0.0-239.255.255.255 สำหรับการส่งข้อมูลแบบ Multicast ซึ่งจะไม่มีการแจกจ่ายใช้งานทั่วไปสำหรับบุคคลทั่วไป

Class E: เป็นการสำรองหมายเลข IP Address ช่วง 240.0.0.0-255.255.255.255 สำหรับการทดสอบ และพัฒนา
IP address

เรามักได้ยิน ระบบการสื่อสารแบบ TCP/IP เป็นประจำ ส่วนการทำงานดังกล่าวครอบคลุมอุปกรณ์การสื่อสารเกือบทุกประเภทในปัจจุบัน เราลองมาดูว่า มันทำงานยังไงกันดีกว่า
IP address  คือระบบการอ้างอิง การมีตัวตนอยู่ของคอมพิวเตอร์ โดยปกติเราแบ่ง IP address เป็น 2 แบบ

 1. Public IP address (อาจเรียกอย่างไม่เป็นทางการว่า WAN IP address) คือ IP address ที่ใช้งานจริงมีการจดทะเบียนและเสียเงินเพื่อใช้งานจริงๆ มีการจดบันทึกในระบบว่า ใครใช้งาน IP อะไรในวงกว้าง ทำอะไรผิดระวัง IP address ไปโผล่บน Server
             2. Private IP address (อาจเรียกว่า LAN IP address) คือ IP address ที่ใช้กันในเฉพาะระบบวงปิด เช่นใน Office หรือในบ้านที่มีคอมพิวเตอร์มากกว่า 1 เครื่อง IP ระบบนี้หากต้องการใช้กับ เครื่องนอกวงต้องใช้ อุปกรณ์ที่เรียกว่า NAT ไม่ใช่น้องแนทนะครับ (Network Address Translator) จะทำการแปลข้อมูลจากวง LAN ไปออกภายนอก

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

ก่อนการคำนวณเรื่อง 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 ให้อุปกรณ์ได้จะมีอยู่ 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 ที่ได้มาคือ
1. Subnet Mask คือ IP Address อะไร
2. Network IP คือ IP Address อะไร
3. Broadcast IP คือ IP Address อะไร
4. Range host IP ที่สามารถนำมาใช้งานได้ มีIP อะไรบ้าง
5. จำนวน Subnet , จำนวน host / 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
·       Ex /27
/27  ---->  11111111 . 11111111 . 11111111 . 111/00000
จะได้ค่า Subnet Mask
/27    ---->  255.255.255.224
·       Ex /20
/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
เพื่อให้การแปลงตัวเลขจากเลขฐานสอง เป็นฐานสิบเร็วขึ้นให้ดูจากด้านล่าง เช่นถ้าเป็น เลข 1 ทั้งหมดจะได้เลข ฐานสิบคือ 255 ถ้าเป็นเลข 1 จำนวน 4 ตัวจะคือ 240 ถ้าเป็นเลข 0 ทั้งหมด จะได้เลข 0
        หลังจากได้ 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 ตัว สรุปคือ จำนวน IP ต่อ Subnet เมื่อ Subnet Mask คือ 255.255.255.252 คือ 4 ตัว หรือ ใช้วิธีลัดดูจากที่เขียนไว้ ตัวเลขที่อยู่บน 252 คือ 4 ตามด้านล่าง
และเมื่อนำ 00 , 01 , 10 , 11 แปลงเป็นฐานสิบจะได้
00 แปลงเป็นฐานสิบจะได้ 0
01 แปลงเป็นฐานสิบจะได้ 1
10 แปลงเป็นฐานสิบจะได้ 2
11 แปลงเป็นฐานสิบจะได้ 3
ดังนั้นถ้า /30 จำนวน IP ในแต่ละ subnet ที่จะเป็นไปได้ก็คือ 0-3 , 4-7 , 8-11 , _ _ _ , 252-255 หรือ
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
โดย IP Address ตัวแรกของแต่ละ subnet จะเรียกว่า Network IP และ IP Address ตัวสุดท้ายของแต่ละ subnet จะเรียกว่า Broadcast IP ดังนั้น
จากโจทย์ 192.168.22.50/30
1. Network IP คือ IP Address อะไร
ตอบ 192.168.22.48
2. Broadcast IP คือ IP Address อะไร
ตอบ 192.168.22.51
3. Range host IP ที่สามารถนำมาใช้งานได้ หรือ จำนวน host Per Subnet
ตอบ 192.168.22.49 - 192.168.22.50 นำIP มา set เป็น host ได้2 IP
วิธีการหา Network IP นอกเหนือจากการเขียนตามด้านบนแล้วยังหาได้โดย
วิธีการปกติทำได้โดยการนำเอา Subnet Mask มา AND กับ IP Address ที่ให้มา ผลที่ได้จะเป็น Network IP วิธีนี้หนังสือหลายเล่มมีอธิบายแล้ว
วิธีการหาร นำIP จากโจทย์ที่ให้มา ตั้งหารด้วยจำนวน IP ที่มีได้ใน Subnet เช่น 192.168.22.50/30 ให้นำเอาตัวเลข 50 หารด้วย 4 ดังด้านล่าง
เมื่อได้ Netwok IP แล้ว ก็จะได้คำตอบเช่นเดียวกับด้านบน
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 ที่เอาไปใช้งานได้หรือไม่
IP ที่สามารถเอาไปใช้งานได้ จะต้องไม่ตรงกับ 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
1. Network IP คือ IP Address อะไร
ตอบ 10 . 8 . 0 . 0
2. Broadcast IP คือ IP Address อะไร
ตอบ 10 . 15 . 255 . 255
3. Range host IP ที่สามารถนำมาใช้งานได้
ตอบ 10 . 8 . 0 . 1 - 10 . 15 . 255 . 254 ดังนั้น IP 10.10.10.0/13 จึงนำมาใช้งานได้
การหาจำนวน Subnet และ จำนวน hosts / Subnet
การหาจำนวน hosts ต่อ Subnet จากค่า Subnet Mask ที่ให้มา จะใช้ สูตร 2n - 2 โดย n คือจำนวน bits ที่อยู่หลังตัวMask ส่วนเลข 2 ที่ลบออกไปคือ Network IP และ Broadcast IP
เช่น /30 11111111 . 11111111 . 11111111 . 111111/00 หรือ 255.255.255.252 จะได้  จำนวน hosts/Subnet = 2n - 2 = 22 - 2 = 4 - 2 = 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) ที่ใกล้ที่สุดหรือตำแหน่งที่ระบุไว้
เช่น /30 11111111 . 11111111 . 11111111 . 111111/00  หรือ 255.255.255.252 จะได้   จำนวน Subnet = 2n = 26 
       /20 11111111 . 11111111 . 1111/0000 . 00000000  หรือ 255.255.240.0  จำนวน Subnet = 2n = 24 = 16
เปลี่ยนจาก /20 เป็น /27 จะได้กี่Subnet อันนี้ระบุMask ต้นทางมาจะได้
11111111 . 11111111 . 1111/1111 . 111/00000  จำนวน Subnet = 2n = 27 = 128
เป็นคำศัพท์ที่ควรรู้
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 ไหน  ตัวอย่าง routing protocols : ที่เป็นแบบ Classless ได้แก่
• RIP Version 2 (RIPv2)
• EIGRP
• OSPF
• IS-IS
Variable Length Subnet Masks ( VLSM )
จากหลักการ เครือข่ายที่เราใช้งานกันอยู่ ไม่จำเป็นจะต้องมีขนาดเท่ากันเสมอไป (ไม่จำเป็นต้องมี ตัว 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 ต่างกันตามความเหมาะสม
ประโยชน์ของการใช้ VLSM ยังมีดังนี้
•VLSM จะยอมให้มีการแบ่ง Subnet ได้มากกว่า 1 ครั้งสำหรับแต่ละชุด IP เพื่อให้ได้ขนาด IP ตามที่ต้องการ
•VLSM จะช่วยลดจำนวนการจัดสรร IP ลง เป็นการใช้งาน IP อย่างมีประสิทธิภาพ
•VLSM ยังช่วยให้ Router ทำงานได้เร็วขึ้นเนื่องจากขนาดของ Routing Table เล็กลง
ตัวอย่างการทำ VLSM
จากรูปด้านบนถ้ากำหนด IP มาให้ เป็น 192.168.55.0 /24 ให้ทำการแบ่ง จำนวน host ให้เหมาะสมกับแต่ละวงโดยการทำ VLSM จะได้ดังนี้
              เมื่อดูตามค่าของ IP ที่ให้มาจะเห็นว่า ไอพีจะเริ่มตั้งแต่192.168.55.0 ไปจนถึง 192.168.55.255 หรือ จาก 0-255 ตัว โดยใช้เรื่องของ subnet มาช่วยจะได้ดังนี้
             วงที่ 1 ต้องการ 7 hosts จะได้Mask ที่ต้องการคือMask 28 IP ที่ใช้งานได้เริ่มตั้งแต่ 192.168.55.0 ถึง 192.168.55.15 IP ที่เหลือที่ยังไม่ได้ใช้คือ 16-255
                 วงที่ 2 ต้องการ 2 hosts จะได้Mask ที่ต้องการคือMask 30 IP ที่ใช้งานได้เริ่มตั้งแต่ 192.168.55.16 ถึง 192.168.55.19 IP ที่เหลือที่ยังไม่ได้ใช้คือ 20-255
               วงที่ 3 ต้องการ 90 hosts จะได้Mask ที่ต้องการคือMask 25 วงที่ได้จะมี0-127 และ 128-255 IP ที่ใช้งานไปแล้วคือ 0-19 ดังนั้น IP ที่ใช้งานได้คือตั้งแต่192.168.55.128 ถึง 192.168.55.255 IP ที่เหลือที่ยังไม่ได้ใช้คือ 20-128
                 วงที่ 4 ต้องการ 2 hosts จะได้Mask ที่ต้องการคือMask 30 IP ที่ใช้งานได้เริ่มตั้งแต่ 192.168.55.20 ถึง 192.168.55.23 IP ที่เหลือที่ยังไม่ได้ใช้คือ 24-127
               วงที่ 5 ต้องการ 23 hosts จะได้Mask ที่ต้องการคือMask 27 วงที่ได้จะมี0-31และ 32-63 IP ที่ใช้งานไปแล้วคือ 0-23 จะแห็นได้ว่าวง 0-31 นั้นไม่พอเนื่องจากมีการใช้งานไปแล้ว ดังนั้นจึงต้องมาใช้วง 32-63 แทน IP ที่ใช้งานได้จึงเริ่มตั้งแต่ 192.168.55.32 ถึง 192.168.55.63
                 แค่นี้ก็สามารถที่จะจัดระบบของจำนวนไอพีให้แก่ network ในวงแต่ละวงได้อย่างเหมาะสมโดยใช้หลักการของ VLSM
Summarization
                  Summarization คือการรวม IP หลายๆ networks ให้เหลือ network เดียว โดย จะต้องครอบคลุม IP หลายๆ networks นั้นด้วย เช่น ตามรูปด้านล่าง
จากรูปที่ 3.16 วิธีการหา Summarization ทำได้โดยการแปลง IP เป็นฐานสองทั้งหมด แล้วดูเฉพาะตัวเลขที่เหมือนกันสิ้นสุดที่ไหน ก็จะทำการmask ตรงนั้น
             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 ก็จะได้คำตอบ 172.1.4.0/22 เช่นกัน
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 = : 00
                             ·       มีเลข 0 อยู่หน้าแถวของจำนวนกลุ่ม สามารถยุบให้เหลือเพียงแค่ตัวเลขเพียงอย่างเดียวโดยไม่ต้องเขียนเลข 0 : 0978 = : 978
                      ·       มีเลข 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
           หมายเหตุ เลขฐาน 16 นั้นจะเริ่มนับตั้งแต่ 0 1 2 3 4 5 6 7 8 9 A B C D E F ดังนั้นถ้าเราต้องการจะแปลงเป็นเลขฐาน 10 ก็สามารถทำได้ดังนี้ เช่น เลขฐาน16 = 09C0 นำมาแปลงเป็นเลขฐาน 10 จะได้
( 0 x 16 x 16 x 16 ) + ( 9 x 16 x 16 ) + ( 13 x 16 ) + ( 0 x 16 ) = 2512
IPv6 แบ่งออกเป็น 3 ประเภท คือ
·       Unicast จะเป็นการส่งข้อมูล แบบตัวต่อตัวโดยเลือกเป็นคู่ ๆ เฉพาะเจาะจง
·       Multicast จะเป็นการส่งข้อมูลแบบทั่วถึง โดยการส่งหาทุกตัวในกลุ่ม
·       Anycast จะเป็นการส่งข้อมูล แบบสุ่มเลือกหรือ คัดสรร ตัวที่ต้องการจะส่งให้เท่านั้น โดย Anycast จะเป็นส่วนหนึ่งของMulticast IPv6 จะไม่มีการ broadcast
ตัวอย่าง IPv6 ที่ควรรู้
·       0:0:0:0:0:0:0:0 เปรียบเทียบกับ IPv4 จะได้ 0.0.0.0 เหมาะสำหรับการทำ stateful configuration.
·       0:0:0:0:0:0:0:1   ---->    ::1 เปรียบได้กับ 127.0.0.1 ใน IPv4
·       0:0:0:0:0:0:192.168.100.1    ---->  IPv6/IPv4 network environment.
·       2000::/3     ---->   The global unicast address range.
·       FC00::/7    ---->   The unique local unicast range.
·       FE80::/10    ---->  The link-local unicast range.
·       FF00::/8      ----> The multicast range.
·       3FFF:FFFF::/32   ----> Reserved for examples and documentation.
·       2001:0DB8::/32   ---->  Also reserved for examples and documentation.
·       2002::/16    ----> Used with 6to4, which is the transition system

ที่มา  
http://www.ipv6.nectec.or.th/faq.php
http://comerror.com/ip-address.html
http://home.kku.ac.th/hslib/