วันเสาร์ที่ 18 เมษายน พ.ศ. 2552

การพัฒนาโปรแกรมจำลอง VLAN บนระบบปฏิบัติการลีนุกซ์ VLAN Emulator on Linux



บทที่ 1 บทนำ 1.1 ความเป็นมาและความสำคัญของปัญหา VLAN (Virtual Local Area Network) เป็นเทคโนโลยีที่เข้ามาช่วยจัดการระบบเครือข่ายโดย ที่จะจำลองสร้างเครือข่าย LAN โดยไม่ขึ้นอยู่กับการเชื่อมต่อทางกายภาพ โดยที่ผู้ดูแลระบบ สามารถสร้างกลุ่มทำงานซึ่งสามารถติดต่อสื่อสารกันภายในกลุ่มอย่างอิสระ โดยกลุ่มผู้ใช้งานจะถูก จำกัดสิทธิให้ติดต่อสื่อสารกันได้เฉพาะที่อยู่ในกลุ่ม VLAN เดียวกัน ซึ่งถือเป็นการรักษาความภัย ของข้อมูลระหว่างแผนกหรือส่วนงานภายในองค์กรบริษัทหรือหน่วยงานได้ โดยที่ VLAN ยัง สามารถช่วยลดความคับคั่งของข้อมูลภายในระบบเครือข่ายคอมพิวเตอร์ที่เกิดจากการ Broadcast เพราะว่า VLAN จะทำการแยก Collision Domain โดยที่จะทำการ Broadcast เฉพาะภายใน VLAN เดียวกัน การกำหนด VLAN ในเครือข่ายสามารถทำได้บนอุปกรณ์ Switch โดยการกำหนด VLAN มีหลายวิธีขึ้นอยู่กับการเลือกใช้งานในแต่ละเครือข่าย เนื่องจากความสามารถของ VLAN ที่กล่าวมาข้างต้นเป็นประโยชน์ในการจัดการระบบ เครือข่ายแต่ต้องใช้ Switch ที่มีความสามารถนี้ซึ่งราคาแพงมาใช้งานและมีขั้นตอนซับซ้อนในการ ใช้ คำสั่งในการกำหนด VLAN ในการสารนิพนธ์นี้จึงมุ่งเน้นในการพัฒนาและออกแบบซอฟต์แวร์ โดยการนำเครื่องคอมพิวเตอร์ที่ติดตั้งระบบปฏิบัติการลินุกซ์มาประยุกต์ให้สามารถทำงานตาม คุณสมบัติของ VLAN ใน Switch ได้โดยการเชื่อมต่อจากการ์ดอีเทอร์เนตเข้ากับเครื่องคอมพิวเตอร์ และที่ง่ายต่อการใช้งานโดยที่โปรแกรมจะทำหน้าที่ในการช่วยที่เขียน Bourne Shell Script เพื่อ สั่งงานให้ระบบปฏิบัติการลินุกซ์จำลองคุณสมบัติของ VLAN ในระบบเครือข่าย 1.2 วัตถุประสงค์ เพื่อพัฒนาและออกแบบซอฟต์แวร์สำหรับจำลองการทำงานของ VLAN บนระบบปฏิบัติการ ลินุกซ์ 2 1.3 ขอบเขตของการวิจัย 1.3.1 ซอฟต์แวร์ที่พัฒนาขึ้นจะใช้ IP Address ในการแบ่ง VLAN ในระบบเครือข่าย 1.3.2 ซอฟต์แวร์ที่พัฒนาขึ้นออกแบบให้ทำงานอยู่ในระบบเครือข่าย Ethernet ขนาดเล็ก 1.3.3 ซอฟต์แวร์ได้พัฒนาและติดตั้งลงในระบบปฏิบัติการลินุกซ์ 1.4 วิธีการวิจัย 1.4.1 ขั้นศึกษา 1.4.1.1 ศึกษาระบบการทำงานของ VLAN ใน Switch 1.4.1.2 ศึกษาและเรียนรู้เกี่ยวกับการทำงานของระบบปฏิบัติการลินุกซ์ 1.4.1.3 ศึกษาการส่งข้อมูลในระบบเครือข่าย 1.4.1.4 ศึกษาภาษา Bourne Shell Script และ ภาษา PHP 1.4.2 ทำการติดตั้งระบบปฏิบัติการลินุกซ์และทำการปรับแต่งค่าเพื่อเชื่อมต่อระบบ LAN 1.4.3 ออกแบบโปรแกรมโดย 1.4.3.1 ออกแบบการรับข้อมูลจาก Network Interface Card เพื่ออ่าน packet ข้อมูล 1.4.3.2 ออกแบบการอ่าน packet ในมาตรฐานของ VLAN ให้เป็นแบบ Ethernet 1.4.3.3 การตรวจสอบ packet เพื่อแยกเครือข่ายในแต่ละ VLAN 1.4.4 พัฒนาโปรแกรม 1.4.5 ทดสอบ 1.4.5.1 ทดสอบโดยนำโปรแกรมที่พัฒนาทำงานในระบบเครือข่ายขนาดเล็กที่จัดทำขึ้น 1.4.5.2 ทดสอบเครือข่ายที่จัดทำขึ้นโดยทำการติดต่อผ่าน Switch ที่ใช้ในระบบ เครือข่ายจริง 1.4.6 ประเมินระบบโดยผู้เชี่ยวชาญ 1.4.7 สรุปผล 1.4.8 จัดทำเอกสาร 3 1.5 อุปกรณ์ที่ใช้ในงานวิจัย เครื่องมือที่ใช้ในการทำสารนิพนธ์จำแนกออกได้ดังนี้ 1.5.1 คอมพิวเตอร์ฮาร์ดแวร์ (Hardware) ที่ใช้ในการพัฒนา มีดังนี้ 1.5.1.1 เครื่องคอมพิวเตอร์ ความเร็ว CPU 300 MHz RAM 64 MB VGA 8 MBขึ้น ไปจำนวน 1 เครื่องพร้อม Network Interface Card 3 แผง (ใช้ติดตั้งระบบปฏิบัติการลินุกซ์) 1.5.1.2 เครื่องคอมพิวเตอร์ ความเร็ว CPU 400 MHz RAM 128 MB VGA 16 MB ขึ้นไปพร้อม Network Interface Card จำนวน 3 เครื่อง 1.5.1.3 อุปกรณ์ Switch 1.5.1.4 สายสัญญาณใช้ในการเชื่อมต่อเครือข่าย 1.5.2 ซอฟต์แวร์ (Software) ที่ใช้ในการวิจัย มีดังนี้ 1.5.2.1 ภาษา PHP และ HTML 1.5.2.2 ภาษา Bourne Shell Script 1.5.2.3 Apache Web Server 1.5.2.4 Macromedia Dream weaver 1.5.2.5 ระบบปฏิบัติการลินุกซ์ 1.6 ระยะเวลาในการดำเนินงาน ระยะเวลา เดือนมิถุนายน 2547 – เดือนกันยายน 2547 มิถุนายน กรกฎาคม สิงหาคม กันยายน 1. ขั้นศึกษา 1.1 ศึกษาระบบการทำงานของ VLAN ใน Switch 1.2 ศึกษาและเรียนรู้เกี่ยวกับการทำงานของระบบปฏิบัติการ ลินุกซ์ 1.3 ศึกษาการส่งข้อมูลในระบบเครือข่าย 1.4 ศึกษาภาษา Bourne Shell Script 1.5 ศึกษาภาษา PHP 2. ทำการติดตั้งระบบปฏิบัติการลินุกซ์และทำการปรับแต่ง ค่าเพื่อเชื่อมต่อระบบ LAN 4 1.6 ระยะเวลาในการดำเนินงาน (ต่อ) มิถุนายน กรกฎาคม สิงหาคม กันยายน 3. ออกแบบโปรแกรม 3.1 ออกแบบการรับข้อมูลจาก Network Interface Card เพื่อ อ่าน packet ข้อมูล 3.2 ออกแบบการอ่าน packet มาตรฐานของ VLAN ให้เป็น แบบ Ethernet 3.3 การตรวจสอบ packet เพื่อแยกเครือข่ายในแต่ละ VLAN 4. พัฒนาโปรแกรม 5. ทดสอบโดยการทดลองใช้งาน 5.1 ทดสอบโดยนำโปรแกรมที่พัฒนามาทำงานระบบ เครือข่ายขนาดเล็กที่จัดทำขึ้น 5.2 ทดสอบเครือข่ายที่จัดทำขึ้นโดยทำการติดต่อผ่าน Switch ที่ใช้ในระบบเครือข่ายจริง 6. ประเมินระบบโดยผู้เชี่ยวชาญ 7. สรุปผล 8. จัดทำเอกสาร 1.7 ประโยชน์ของผลการวิจัย 1.7.1 นำมาใช้งานทดแทน และช่วยลดค่าใช้จ่ายในการซื้ออุปกรณ์ Switch ที่มีราคาแพง 1.7.2 เพื่อเป็นจุดเริ่มต้นในการพัฒนาโปรแกรมมาใช้งานแทนอุปกรณ์ Switch บทที่ 2 ทฤษฎีที่เกี่ยวข้อง ในการพัฒนาโปรแกรมจำลอง VLAN บนระบบปฏิบัติการลินุกซ์ ผู้จัดทำได้มีการศึกษา ทฤษฎีที่เกี่ยวข้องดังนี้ 2.1 VLAN (Virtual Local Area Network) ระบบเครือข่ายขนาดใหญ่ที่มีจำนวนคอมพิวเตอร์เป็นจำนวนมากในระบบเครือข่ายส่วน ใหญ่จะมีการแบ่งเครือข่ายออกเป็น Subnetwork ย่อยๆเพื่อง่ายต่อการดูแลและควบคุมระบบให้ สามารถทำงานได้อย่างมีประสิทธิภาพแต่เมื่อมีคอมพิวเตอร์มากขึ้นอุปกรณ์ที่นำมาช่วยในการแบ่ง ออกเป็นเครือข่ายย่อยได้แก่ Hub แต่การแบ่งก็ยังไม่สามารถช่วยลดปริมาณความหนาแน่นของ ข้อมูลที่เดินทางอยู่ในเครือข่ายได้เพราะ Hub จะทำการ Broadcast ข้อมูลไปยังทุกๆโหนดที่อยู่ใน เครือข่าย นั้น Router Hub Hub Hub Subnetwo rk 1 Subnetwo rk 2 Subnetwo rk 3 ภาพที่ 2-1 การจัดการเครือข่ายโดยใช้ Hub และ Router โดยที่ไม่ได้กำหนด VLAN ต่อมาได้มีการพัฒนาฟังก์ชันการทำงานใหม่ของระบบเครือข่ายขึ้นมา ซึ่งมีชื่อเรียกว่า ฟังก์ชันเครือข่ายเสมือน( VLAN : Virtual LAN ) หรือที่นิยมเรียกสั้น ๆ ว่า " VLAN" ฟังก์ชัน 6 VLAN เปรียบเสมือนการผสมผสานระหว่าง ฟังก์ชันบริดจ์จิงและ ฟังก์ชันเราท์ติงเข้าด้วยกัน และทำให้สามารถที่จะ รองรับการใช้งาน ของผู้ใช้ระบบเครือข่ายคอมพิวเตอร์ได้มากขึ้น เป็นผลให้ Switch ที่มีฟังก์ชันนี้ สามารถที่จะทำงานทดแทนเราท์เตอร์ได้เกือบสมบูรณ์ ในปัจจุบัน VLAN เป็นเทคโนโลยีที่ใช้ในการจำลองสร้างเครือข่าย LAN แต่ไม่ขึ้นอยู่กับการต่อทางกายภาพเช่น Switch หนึ่งตัวสามารถใช้จำลองเครือข่าย LAN ได้ห้าเครือข่าย หรือสามารถใช้ Switch สามตัว จำลองเครือข่าย LAN เพียงหนึ่งเครือข่าย เป็นการจัดแยกการเชื่อมต่อเครือข่ายในรูปแบบที่เรียกว่า โดเมนส์ ซึ่งจุดประสงค์ของการแยกออกเป็นโดเมนส์นี้ ก็เพื่อให้เครื่องคอมพิวเตอร์ที่อยู่ต่าง โดเมนส์ไม่สามารถสื่อสารกันได้ ทั้งนี้เพื่อความปลอดภัยของเครือข่าย รวมทั้งสามารถเพิ่ม ประสิทธิภาพการทำงานของเครือข่ายอีกด้วย ในการสร้าง VLAN โดยใช้อุปกรณ์เครือข่ายหลายตัว โดยในหนึ่งเครือข่ายอาจประกอบด้วย Switch หลาย ๆ ตัว และใน Switch หนึ่งตัวอาจประกอบด้วย VLAN หลาย ๆ โดเมนส์ หรือหลาย VLAN ก็เป็นได้ การแบ่ง VLAN จะทำให้เครื่องคอมพิวเตอร์ แม้จะเชื่อมต่อกันใน Switch เดียวกัน แต่อยู่ต่าง VLAN กัน ไม่สามารถสื่อสารกันได้ รวมทั้งไม่ สามารถมองเห็นกันได้และที่แน่นอน หนึ่ง VLAN สามารถ Broadcast ข้อมูลไปตาม Switch ต่าง ๆ ได้ เช่นกัน ภายใต้ Switch ของ Cisco 1 ตัว สามารถติดตั้ง VLAN ได้มากถึง 64 VLAN และทั้ง ระบบสามารถมี VLAN ได้มากถึง 1024 VLANโดยจะมีพอร์ตที่ทำหน้าที่เชื่อมต่อระหว่างอุปกรณ์ เข้ากับ Switch แต่ละตัวเรียก Trunk port ซึ่งเสมือนมีท่อเชื่อม หรือ Trunk เป็นตัวเชื่อมด้วย เนื่องจาก VLAN เป็น LAN แบบจำลอง ถึงแม้ว่าจะต่อทางกายภาพอยู่บนอุปกรณ์เครือข่ายตัว เดียวกัน แต่การติดต่อกันนั้นจำเป็นต้องใช้อุปกรณ์ที่มีความสามารถในการค้นหาเส้นทาง เช่น เรา เตอร์ หรือ Switch Layer 3 Router Switch VLAN 1 VLAN 2 VLAN 3 ภาพที่ 2-2 การจัดการเครือข่ายโดยใช้ Switch และ Router โดยที่ไม่ได้กำหนด VLAN 7 ลักษณะพิเศษของ VLAN ทั่วๆ ไปคือ 1. VLAN แต่ละเครือข่ายที่ติดต่อกันนั้น จะมีลักษณะเหมือนกับต่อแยกกันด้วยบริดจ์ 2. VLAN สามารถต่อข้ามสวิตช์หลายตัวได้ 3. ท่อเชื่อม (Trunk) ต่างๆ จะรองรับทราฟฟิกที่คับคั่งของแต่ละ VLAN ได้ 2.1.1 ชนิดของ VLAN 2.1.1.1 Layer 1 VLAN : Membership by portsหรือ Port-Based VLAN เป็นการจัดแบ่ง VLAN โดยอาศัยพอร์ตและหมายเลขพอร์ตเป็นหลัก โดยเพียง แต่ กำหนดว่า ในหนึ่ง Switches Hub มีกี่ VLAN มีชื่ออะไรบ้าง และต้องการให้พอร์ตใด หมายเลขใด เป็นสมาชิกของ VLAN ใดบ้าง ภาพที่ 2-3 แสดงลักษณะการแบ่ง VLAN โดยอาศัยหมายเลขพอร์ตเป็นหลัก จากพอร์ตที่ 3 แสดงให้เห็นว่า VLAN 1 ประกอบด้วย เครื่องคอมพิวเตอร์รวมทั้ง เครื่องเซิร์ฟเวอร์ที่เชื่อมต่อกับพอร์ตหมายเลข 1-4 และ VLAN 2 ประกอบด้วย คอมพิวเตอร์ ที่ เชื่อมต่อกับพอร์ตหมายเลข 9-12 ส่วน VLAN 3 ประกอบด้วยคอมพิวเตอร์ที่เชื่อมต่อกับพอร์ต หมายเลข 5-8 เป็นต้น ขั้นตอนในการจัดตั้ง Port-Based VLAN สามารถกระทำได้โดยง่าย โดยมี ขั้นตอนคร่าว ๆ ดังนี้ 1. กำหนด VTP Domain ให้เรียบร้อย (สำหรับสวิตซ์ของ Cisco) 2. กำหนดชื่อของ VLAN รวมทั้งเลขหมายของ VLAN 3. กำหนดหมายเลขพอร์ตให้กับ VLAN แต่ละชุดที่ถูกสร้างขึ้น 8 ข้อเสียของ Port-Based VLAN ได้แก่การที่ สามารถเปลี่ยนแปลงได้ง่าย เนื่องจากการใช้งาน สามารถเปลี่ยนแปลงค่ากำหนดของ VLAN ได้ ก็เพียงแต่ย้ายสายเชื่อมต่อสัญญาณจากหมายเลข พอร์ตหนึ่งไปยังพอร์ตอื่น ๆ ได้ง่าย ดังนั้นการโยกย้าย VLAN ก็เพียงแต่ย้ายสายสายเชื่อมต่อ สัญญาณเท่านั้น 2.1.1.2 Layer 2 VLAN : Membership by MAC Address หรือ MAC Address-Based VLAN เป็นการจัดตั้ง VLAN ที่อาศัย MAC Address เป็นหลัก ซึ่งแอดเดรสนี้เป็น แอดเดรส ที่มาจาก Network Interface Card ของเครื่องคอมพิวเตอร์แต่ละเครื่อง การแบ่ง VLAN ด้วยการ อาศัย MAC Address นี้ง่ายต่อการกำหนดมาก เนื่องจากไม่ต้องกำหนดเลขหมายของพอร์ต ไม่ต้อง สนใจว่า เครื่องคอมพิวเตอร์ในเครือข่ายจะติดตั้งอยู่บนพอร์ตหมายเลขใด และไม่ต้องกังวลว่าใน การที่จะมีการย้ายเพื่อเปลี่ยน VLAN เนื่องจาก ไม่ว่าจะย้ายไปอยู่ที่ใด บนสวิตซ์ตัวใด ตราบใดที่ กำหนด MAC Address ประจำ VLAN แล้ว จะเปลี่ยนแปลง VLAN เองได้ก็ต่อเมื่อเปลี่ยน Network Interface Card ภาพที่ 2-4 แสดงลักษณะการเชื่อมต่อ VLAN แบบ MAC Address-Based ข้อจำกัดของ MAC-Based VLAN 1. พอร์ตที่จะเข้าร่วมใช้งานเป็น MAC-Based VLAN นั้นจะต้องไม่เป็น Static VLANหมายความว่า จะต้องไม่มีการกำหนดหมายเลขพอร์ตที่ตายตัวให้กับ VLAN ต่าง ๆ 9 2. MAC Based VLAN ถูกออกแบบมาให้สามารถสนับสนุน 1 ไคลเอนต์ต่อ หนึ่งพอร์ต (ทางกายภาพสวิตซ์บางรุ่น ) ขณะที่บางสวิตซ์สามารถสนับสนุนได้หลายยูสเซอร์ต่อ 1 พอร์ต 2.1.1.3 Layer 2 VLAN : Membership by Protocol types หรือ Protocol-Based VLAN รูปแบบของ VLAN แบบนี้ จะช่วยให้สามารถจัดสร้าง VLAN ได้อย่างง่ายดาย เนื่องจากว่า การกำหนด VLAN อาศัยโปรโตคอลการทำงานในระดับเน็ตเวิร์กซึ่งได้แก่ IP IPX หรือ AppleTalk Protocol-Based VLAN ถูกนำมาใช้บ่อยในสถานการณ์ที่เครือข่ายประกอบด้วยหลาย Segment หรือติดตั้ง Switchหลาย ๆ ตัว รวมทั้งเครื่องคอมพิวเตอร์ต่างๆ มีการใช้โปรโตคอลที่ แตกต่างกันรวมทั้งเครื่องคอมพิวเตอร์เครื่องหนึ่งอาจติดตั้งใช้งานหลายโปรโตคอล เช่น มีการใช้ งาน IP กับ NetBIOS ในเครื่องเดียวกัน ภาพที่ 2-5 แสดงลักษณะการจัดแบ่ง VLAN แบบ Protocol-Based ข้อดีของการใช้ Protocol-BasedVLAN ได้แก่ความยืดหยุ่น เนื่องจากสามารถกำหนดว่าจะให้คอมพิวเตอร์เครื่องใดเป็นสมาชิกของ VLAN ใด ก็แล้วแต่ว่ามีการเรียกใช้โปรโตคอลอะไร การใช้ VLAN แบบนี้มีประโยชน์มาก เนื่อง จากเครื่องคอมพิวเตอร์ หรือเครื่องเซิร์ฟเวอร์สามารถติดตั้งไว้ที่ใด หรือ Switch ตัวใดก็ได้ ตราบ ใดที่ยังเชื่อมต่อกันอยู่ ผู้ที่ใช้โปรโตคอลเดียวกัน จะสามารถสื่อสารถึงกันได้ 10 2.1.1.4 Layer 3 VLAN : Membership by IP subnet Address หรือ Subnet-Based VLAN Subnet-Based VLAN บางครั้งถูกเรียกว่า Layer 3 Based VLAN เป็น VLAN ที่ถูก สร้างขึ้นโดยอาศัยข้อมูลข่าวสารในระดับ Network Layer โดยสวิตซ์จะตรวจสอบข้อมูล IP Address ที่ Header ของ packet ปกติ IP Address หรือ Subnet-based VLAN จะถูกติดตั้งบน Switch แบบ Layer 3 เท่านั้น ขณะที่ชนิดของ VLAN ที่ได้กล่าวมาก่อนหน้านี้ทำงานบน Layer-2 Switches ภาพที่ 2-6 แสดงการใช้ Layer 3 Switches เพื่อสร้าง VLAN จำนวน 3 ชุดขึ้น จะเห็นว่ามีการแบ่ง VLAN ออกเป็นส่วน ๆ โดยใช้ เลขหมาย IP Address ที่อยู่ต่างเครือข่ายกัน มากำหนด VLAN ที่ ต่างกันขึ้น ข้อดีของการจัด VLAN แบบนี้ ได้แก่ 1. ความยืดหยุ่น เนื่องจากสามารถเปลี่ยนแปลง VLAN โดยการเปลี่ยน IP เท่านั้น การใช้งานสามารถโยกย้ายเครื่องออกจากพอร์ต ได้โดยไม่ต้องกำหนด IP Address ของ เครือข่ายกันใหม่ให้กับคอมพิวเตอร์แต่ละเครื่อง เหมาะสำหรับเครือข่ายที่ใช้โปรโตคอล TCP/IP เป็นหลัก 2. ให้การสนับสนุน Routing โดยสนับสนุนการเชื่อมต่อระหว่าง VLAN ที่ ต่างกันได้ 3. การจัด คอนฟิกของ VLAN แบบนี้ สามารถเกิดขึ้นได้โดยอัตโนมัติ ดังนั้น ค่าใช้จ่ายในการที่จะดูแลการทำงานของ VLAN ประเภทนี้ จะถูกกว่า MAC Address-Based มาก ภาพที่ 2-6 แสดงการจัดตั้ง VLAN แบบ IP Subnet-Based ข้อเสียของ IP หรือ Subnet-Based VLAN ข้อเสียมีเพียงประการเดียว ได้แก่ การจัดตั้ง IP Address ที่อาจเกิดความสับสน รวมทั้งปัญหา ของสวิตซ์บางรุ่นที่อาจสนับสนุนหลาย IP Address บนพอร์ตเดียวกัน 11 2.1.1.5 Higher Layer VLAN's หรือ Application-Based VLAN สามารถติดตั้ง VLAN โดยอาศัยลักษณะหรือชนิดของ Application ได้อีกด้วย แต่จะมี Switch ที่ให้การสนับสนุน การทำงานในลักษณะนี้ไม่ค่อยจะได้เห็นกันบ่อยนัก อีกทั้งมีราคาแพง มาก จุดประสงค์ของการแยก VLAN โดยอาศัย Application นี้ เป็นการเอื้อประโยชน์ให้กับ Application แต่ละตัวที่สามารถใช้แบนด์วิดธ์ได้อย่างเต็มประสิทธิภาพ อีกทั้งสามารถแยกประเภท ของงานออกได้อย่างชัดเจน Application-Based VLAN จึงมีประโยชน์สำหรับหน่วยงานที่ต้องใช้ งานที่จำเพาะเจาะจงเฉพาะผู้ใช้กลุ่มต่าง ๆ ภาพที่ 2-7 แสดงลักษณะของ VLAN ที่อาศัย Application ที่ต่างกันเป็นหลัก 2.1.2 มาตรฐานของ IEEE 802.1Q มาตรฐาน IEEE 802.1Q นั้นเป็นมาตรฐานในการนำข้อมูลของ VLAN membership ใส่เข้า ไปใน Ethernet Frame หรือที่เรียกว่า การ Tagging และโปรโตคอล 802.1Q นี้ถูกพัฒนาเพื่อ แก้ปัญหาเรื่องการบริหารจัดการด้านเครือข่ายที่เพิ่มขึ้น เช่น การกระจายเครือข่ายใหญ่ๆ ให้เป็น ส่วนย่อยๆ ( Segment ) ทำให้ไม่สูญเสียแบนวิธให้กับการ broadcast และ multicast มากเกินไป และยังเป็นการรักษาความปลอดภัยระหว่างส่วนย่อยต่างๆภายในเครือข่ายให้สูงขึ้นอีกด้วยการต่อ เติมเฟรม (tagging Frame) ด้วยมาตรฐาน 802.1Q นั้นจะทำในระดับ Data-Link layer และการทำ VLAN Tagging นั้นจะเป็นการเปลี่ยนรูปแบบของ Ethernet Frame มาตรฐาน 802.3 ให้เป็นรูปแบบ ใหม่ที่เป็นมาตรฐาน 802.3 ac ซึ่งมีไดอะแกรมของเฟรมมาตรฐาน 802.3 ดังภาพที่ 2-8 และ ไดอะแกรมของมาตรฐาน 802.3 ac ดังภาพที่ 2-9 12 ภาพที่ 2-8 แสดงรูปแบบของเฟรม 802.3 ก่อนที่จะทำ VLAN Tagging ภาพที่ 2-9 แสดงรูปแบบของเฟรม 802.3 ac ที่มีการ tagging 802.1Q แล้ว ตารางที่ 2-1 ตารางของคำอธิบายส่วนต่างๆ ของมาตรฐาน 802.3 ac Label Field Name Size Description PRE Preamble 7 bytes Used to synchronize traffic between nodes SF Start Frame Delimiter 1 bytes Marks the beginning of the header DA Destination Address 6 bytes The MAC address of the next/final hop SA Source Address 6 bytes The MAC address of the source TCI Tag Control Info 2 bytes When set to “8100” indicates this frame uses 802.1q and Q tags P Priority 3 bits Indicates 802.1q priority level 0-7 C Canonical Indicator 1 bit Indicates if the MAC address are in caninical Format Ethernet uses “0” VLAN VLAN Identifier(VID) 12 bits Indicates which VLAN this frame belong to (0-4095) T/L Type/Length Field 2 bytes Ethernet II “type” or 802.3 “length” information Payload Payload . 1500bytes User data or higher layer protocol information FSC Frame Check Sequence 4 bytes Error checking on the frame’s content-also know as “CRC” (Cyclical Redundancy Check) PRE SF DA SA T/L Payload FCS PRE SF DA SA T C I P C V L A N T/L Payload FCS 802.1Q 4 bytes 13 2.1.3 VLAN Tagging ของ Cisco การทำ Frame Tagging ตามมาตรฐาน 802.1Q ที่ได้กล่าวมาข้างต้นซึ่งเป็นมาตรฐานที่ใช้งาน ทั่วไป กับ Switch ยี่ห้ออื่นๆ รวมทั้งใช้ได้กับบางรุ่นของ Cisco อีกด้วย ประโยชน์ของการใช้ Frame Tagging นี้ ก็เพื่อให้สามารถสื่อสารกันระหว่าง VLAN หมายเลขเดียวกัน แต่อยู่ต่าง Switch กัน อย่างไรก็ดี Cisco ก็มีโปรโตคอล ที่มีจุดประสงค์ในทำนองเดียวกับ IEEE 802.1Q ซึ่งก็คือ ISL หรือ Inter-switching Link ภาพที่ 2-10 แสดงลักษณะของการสอดแทรกข่าวสารลงไปบน เฟรมข้อมูลที่เรียกว่า Tagged Frame ISL เป็นโปรโตคอลที่ใช้เพื่อการ Encapsulation เฟรมข้อมูล ของ Cisco จุดประสงค์ก็เพื่อการ สื่อสารกัน ระหว่าง VLAN หลายๆวง ที่กระจายไปตาม Switches Hub ต่างๆ โดยอาศัยสายสัญญาณ เชื่อมต่อเพียงหนึ่งเดียวทำให้ VLAN สามารถสื่อสารกันผ่าน Switching Hub หลายๆตัวได้ โดยใช้ วิธีการใส่ Header เพิ่มเติมเข้าไปที่ส่วนหัวของ Frame ภาพที่ 2-11 แสดงการเชื่อมต่อระหว่าง VLAN ที่กระจายตาม Switches ต่างๆด้วย ISL Trunk Destination Source VLAN Tag Control Type/Length Data FCS Address Address Preteral ID Info Bytes 6 6 2 2 2 4 VLAN Preteral ID = Priority Cano- VLAN Identifier 0x8100 nical Bits 16 3 1 12 14 ISL เป็น Protocol ของ Cisco ถูกนำมาใช้งานกับ Fast Ethernet และ Gigabit Ethernet Trunk Link เท่านั้น ซึ่งปัจจุบัน Network Interface Card จาก Intel และผู้ผลิตอื่นๆ ต่างๆ ให้การสนับสนุน ISL เป็นจำนวนมาก หากไม่ต้องการใช้ ISL Protocol แต่ต้องการสื่อสารระหว่าง VLAN บน Trunk Link จะต้อง ใช้ 802.1q Protocol การพัฒนาโปรแกรมในสารนิพนธ์นี้จะใช้มาตรฐาน 802.1Q โดยที่ไม่สามรถใช้ งาน ISL ได้ ภาพที่ 2-12 แสดงลักษณะการทำ Encapsulation ให้กับเฟรมข้อมูล โดยวิธี ISL ของ Cisco 2.1.4 ประโยชน์ของ VLAN 1. เพิ่มประสิทธิภาพของเครือข่าย ในระบบเครือข่ายทั่วไปจะมีการส่งข้อมูล Broadcast จำนวนมาก ทำให้เกิดความคับ คั่ง ( Congestion ) และ VLAN มีความสามารถช่วยเพิ่มประสิทธิภาพของเครือข่ายได้เนื่องจาก VLAN จะจำกัดให้ส่งข้อมูล Broadcast ไปยังผู้ที่อยู่ใน VLAN เดียวกันเท่านั้น 2. ง่ายต่อการบริหารการใช้งาน VLAN อำนวยความสะดวกในการบริหารจัดการโครงสร้างของระบบเครือข่ายให้ง่าย มีความยืดหยุ่น และเสียค่าใช้จ่ายน้อย โดยเพียงเปลี่ยนโครงสร้างทางตรรกะ( Logical ) เท่านั้น ไม่ จำเป็นต้องเปลี่ยนโครงสร้างทางกายภาพ กล่าวคือ ถ้าต้องการเปลี่ยนโครงสร้างของ VLAN ก็ทำโดยการคอนฟิกที่อุปกรณ์เครือข่ายใหม่ไม่จำเป็นเปลี่ยนรูปแบบทางกายภาพของการเชื่อมต่อเครือ ข่ายที่มีอยู่เดิม ISL Header Encapsulated Ethernet CRC 26 bytes Frame 4 bytes DA Type User SA LEN AAAA03 HSA VLAN BPDU INDEX RES VLAN BPDU 15 3. เพิ่มการรักษาความปลอดภัยมากขึ้น เนื่องจากการติดต่อระหว่างอุปกรณ์เครือข่ายจะสามารถทำได้ภายใน VLAN เดียวกัน เท่านั้น ถ้าต้องการที่จะติดต่อข้าม VLAN ต้องติดต่อผ่านอุปกรณ์ค้นหาเส้นทางหรือ Switch Layer 3 2.1.5 ข้อเสียและปัญหาที่พบของการใช้ VLAN 1. ถ้าเป็นการแบ่ง VLAN แบบ port-based นั้นจะมีข้อเสียเมื่อมีการเปลี่ยนพอร์ตนั้น อาจจะต้องทำการคอนฟิก VLAN ใหม่ 2. ถ้าเป็นการแบ่ง VLAN แบบ MAC-based นั้นจะต้องให้ค่าเริ่มต้นของ VLAN membership ก่อน และปัญหาที่เกิดขึ้นคือในระบบเครือข่ายที่ใหญ่มาก จำนวนเครื่องนับพันเครื่อง นอกจากนี้ถ้ามีการใช้เครื่อง Notebook ด้วย ซึ่งก็จะมีค่า MAC และเมื่อทำการเปลี่ยนพอร์ตที่ต่อก็ ต้องทำการคอนฟิก VLAN ใหม่ 2.1.6 ช่องโหว่ของการใช้ VLAN โดยปกติแล้วจะไม่สามารถส่งข้อมูลข้าม VLAN ได้ถ้าไม่ใช้ Router Switch เลเยอร์สาม หรือ ตัวกลางที่ช่วยค้นหาเส้นทางอื่นๆ แต่มีช่องโหว่ที่ทำให้ผู้ใช้สามารถส่งข้อมูลข้าม VLAN ได้โดยไม่ ต้องอาศัยตัวกลาง เรียกว่า " การเบรค VLAN " ซึ่งช่องโหว่นี้เกิดจาก Trunking protocol ของ Switch บางรุ่น และวิธีการทดสอบคือทำการส่งข้อมูลตัวอย่างจาก VLAN หนึ่งไปยัง VLAN อื่น ที่ อยู่บนสวิตช์คนละตัว และข้อมูลที่ส่งนั้นให้ทำการสร้าง Ethernet Frame ที่มี Tag 802.1Q และ เปลี่ยนค่าของหมายเลข VLAN ให้เป็นค่าของหมายเลข VLAN ปลายทางที่ต้องการเบรค เฟรมที่ถูก สร้างขึ้นใหม่ และค่าของ Tag 802.1Q จะมีรูปแบบ "81 00 0n nn" โดยที่ nnn คือหมายเลขของ VLAN ซึ่งผลจากการทดสอบดังกล่างจะสามารถทำการเบรค VLAN ได้ สถานการณ์ต่อไปนี้จะทำให้เกิดช่องโหว่ของ VLAN 1. เมื่อผู้บุกรุกสามารถที่จะเข้าถึงพอร์ตใน Switch ที่เป็น VLAN เดียวกันกับ VLAN ของ Trunk port 2. เครื่องเป้าหมายอยู่บนสวิตช์ต่างกันแต่มีกลุ่ม Trunk เดียวกัน 3. ผู้บุกรุกทราบถึง MAC address ของเครื่องเป้าหมาย 4. Layer 3 device สามารถสร้าง Connection จาก VLAN เป้าหมายกลับไปยัง VLAN ที่เป็นต้นทางได้ 2.1.7 Module 802.1Q ในระบบปฏิบัติการลินุกซ์ การที่จะให้ระบบปฏิบัติการลินุกซ์สามารถที่จะอ่าน Header ของ Ethernet Frame ที่ทำ VLAN Tagging ได้ต้องอาศัยการทำงานของ Module 802.1Q ซึ่งได้รับการพัฒนาโดย Ben Greear ซึ่งพัฒนาขึ้นมาครั้งแรกเพื่อให้สามารถทำงานร่วมกับ Kernel 2.2 ของระบบปฏิบัติการลินุกซ์และ 16 ยังมีการพัฒนาต่อมาโดยหลายเนื่องจากเป็น Open Source ในปัจุบันได้ถูกนำมารวมเข้าไว้ใน Kernel 2.6 ของระบบปฏิบัติการลินุกซ์ขึ้นไปโดยที่ไม่ต้องทำการติดตั้งเพิ่ม 2.1.7.1 วิธีการติดตั้งและเรียกใช้งาน VLAN ใน Module 802.1Q 1. เมื่อทำการ Download VLAN แพคเก็จมาเรียบร้อย ให้แตกไฟล์ที่ได้มา ด้วยคำสั่ง # tar -xvzf vlan*.tar.gz โดยที่ * คือเวอร์ชั่นที่เหมาะสมกับ Kernel ที่ใช้งานใน ระบบปฏิบัติการลินุกซ์ 2. ไปยัง VLAN Directory ตามที่ได้แตกไฟล์ออกมาเพื่อทำการติดตั้งโดยใช้ คำสั่ง # make 3. หลังจากนั้นจะได้โปรแกรมที่ชื่อว่า “vconfig” เพื่อนำมาใช้ในการ กำหนดให้ Network Interface Card สามารถรับ Ethernet Frame ที่ทำ VLAN Tagging ได้ 4. การเรียกใช้งาน “vconfig” ในระบบปฏิบัติการลินุกซ์เพื่อกำหนด VLAN มีคำสั่งดังต่อไปนี้ # vconfig add [interface-name] [vlan-id] เป็นคำสั่งที่ใช้ในการกำหนดค่า VID ให้Network Interface Card โดยที่ [interface-name] คือชื่อของ Network Interface Card ที่ต้องการกำหนด เช่น eth0 หมายถึงNetwork Interface Card ที่1 eth1 Network Interface Card ที่2 [vlan-id] คือค่า VID ที่ต้องการกำหนดใน VLAN # vconfig rem [vlan-device] เป็นคำสั่งที่ใช้ในการลบค่า Network Interface Card ที่ กำหนดค่า VID ไว้ โดยที่ [vlan-device] คือชื่อของ Network Interface Card ที่กำหนดค่า VID ไว้ เช่น eth0.1 หมายถึง Network Interface Card ที่ 1 มีค่า VID เท่ากับ 1 # vconfig set_flag [vlan-device] 0 1 เป็นคำสั่งที่ใช้ในการกำหนดค่า flag ให้ Network Interface Card ที่กำหนดค่า VID ไว้โดยปกติค่าจะเท่ากับ 0 จะทำให้ Header ของ Ethernet Frame บันทึกค่าของ VLAN Tagging ไว้จะกำหนดเป็น 1 ในกรณีที่มีการใช้งานโปรแกรมวิเคราะห์ เครือข่าย ที่ไม่สามารถอ่าน Ethernet Frame ที่มี VLAN Tagging โปรแกรมจะทำการลบ VLAN Tagging ก่อนที่จะผ่านการทำงานขั้นต่อไป # vconfig set_name_type VLAN_PLUS_VID VLAN_PLUS_VID_NO_PAD DEV_PLUS_VID DEV_PLUS_VID_NO_PAD เป็นคำสั่งที่ใช้ในบอกให้ระบบปฏิบัติการลินุกซ์ รู้จักรูปแบบของการอ้างอิง Network Interface Card ที่กำหนดค่า VID ไว้เพื่อนำไปใช้กับคำสั่งอื่นๆ 17 ในระบบปฏิบัติการลินุกซ์โดยสามารถเลือกใช้คำสั่งใดคำสั่งหนึ่งใน 4 แบบ เช่น ถ้าไม่ใช้คำสั่งนี้ใน การกำหนด ค่า IP Address ให้ eth0.1 จะไม่สามารถทำได้ 2.1.7.2 การกำหนดค่า IP Address ในNetwork Interface Cardที่กำหนดค่า VID มี คำสั่งดังนี้ # ip addr add [IP Address] broadcast [Broadcast IP] dev [vlan-device] เป็นคำสั่งที่ใช้ใน การกำหนด IP Address เพิ่มในNetwork Interface Card โดยที่ [IP Address] คือค่าเลข IP Address พร้อม Prefix เช่น 192.168.2.1/24 [Broadcast IP] คือค่าเลข Broadcast IP เช่น 192.168.2.255 [vlan-device] คือชื่อของ Network Interface Card ที่กำหนดค่า VID ไว้ เช่น eth0.1 หมายถึงNetwork Interface Card ใบแรกที่มีค่า VID เท่ากับ 1 # ip link set [vlan-device] updown เป็นคำสั่งที่ให้ Network Interface Card ที่ได้กำหนดค่า IP Address แล้วพร้อมที่จะใช้งานทันทีจะกำหนดเป็น up เมื่อต้องการหยุดการใช้งานในNetwork Interface Cardนั้นให้กำหนดเป็น down 2.2 IP Address คอมพิวเตอร์ส่วนบุคคล ที่ใช้งานโปรโตคอล TCP/IP เมื่อต่อเชื่อมเข้าสู่ Internet ต้องมี หมายเลขหรือรหัสที่บ่งบอก ตำแหน่งของเครื่องที่ต่ออยู่บนอินเทอร์เน็ต โดยการสื่อสารกันใน ระบบเครือข่าย Internetที่มีโปรโตคอล TCP/IP เป็นมาตรฐาน เครื่องคอมพิวเตอร์ทุกเครื่องจะต้องมี หมายเลขประ จำตัวเอาไว้อ้างอิง ให้เครื่องคอมพิวเตอร์อื่นๆ ได้ทราบเหมือนกับคนทุกคนต้องมีชื่อ ให้คนอื่นเรียก หมายเลขอ้างอิงดังกล่าวเรียกว่า IP Address หรือหมายเลข IP หรือบางทีก็เรียกว่า "แอดเดรส IP" เพื่อเป็นการวางมาตรฐานสำหรับปฏิบัติร่วมกัน หน่วยงาน InterNIC (Internet Network Information Center) ซึ่งเป็นหน่วยงานที่ได้รับการจัดตั้งขึ้นโดยรัฐบาลสหรัฐอเมริกา จึงได้ ทำหน้าที่เป็นผู้ออกกฏกติกา สำหรับการจัดสรรหมายเลข IP Address ให้กับเครื่องคอมพิวเตอร์ทั่ว โลกที่จะต้องมีการเชื่อมต่อเข้ากับเครือข่าย Internet โดยมีจุดประสงค์เพื่อป้องกันปัญหาการกำหนด IP Address ซ้ำซ้อนกันขึ้น หมายเลข IP Address ซึ่งมีการกำหนดใช้งานในเครือข่ายคอมพิวเตอร์ทั่วโลกในปัจจุบัน มี ชื่อเรียกเป็นทางการว่า "IPv4" (ในปัจจุบันมีถึงIPV6) มีโครงสร้างการอ้างอิงเป็นตัวเลขฐานสอง ความยาว 32 บิต เพื่อเป็นความสะดวกในการระบุอ้างอิงโดยมีการแยกอ่านค่าเลขฐานสองดังกล่าว ออกเป็น 4 กลุ่ม ๆ ละ 8 บิตเรียงตามลำดับ การอ่านหรืออ้างอิงค่าหมายเลข IP Address โดยทั่วไปที่ มักจะพบหรือใช้อ้างอิงถึง สามารถเขียนให้อยู่ในรูปแบบ 205.46.15.198 แทนที่จะอ่านเป็น 18 11001101.00101110.00001111.11000110 เพราะการติดต่อสื่อสารระหว่างเครื่องคอมพิวเตอร์ ด้วยกันนั้น จะใช้การอ้างอิงตัวเลขฐานสองเป็นพื้นฐาน เนื่องจากเป็นมาตรฐานการอ้างอิงในระดับ ภาษาเครื่อง ส่วนการอ่านค่าเป็นตัวเลขฐานสิบนั้นเป็นไปเพื่อความสะดวกของมนุษย์เป็นสำคัญ อนึ่งโดยทั่วไปมักนิยมเรียกกลุ่มข้อมูลแต่ละกลุ่มซึ่งมีขนาด 8 บิตว่า "ออกเต็ด" (Octet) มีการกำหนดแบ่งกลุ่มของ IP Address ที่มีการใช้งานทั่วโลกออกเป็น 5 กลุ่ม หรือ 5 คลาส (Class) แต่จะใช้งานในการ Unicast นั้น คือ คลาส A คลาส B และ คลาส C กติกาที่ใช้ในการ กำหนดแบ่งคลาสของ IP Address นั้น กระทำโดยแบ่งตามค่าตัวเลขฐานสองของออกเต็ดแรก ดัง แสดงรายละเอียดในตารางที่ 2-2 และเนื่องจาก InterNIC มีการประกาศห้ามใช้งานแอดเดรสใน คลาส D และ E ตารางที่ 2-2 การแบ่งคลาสของเลขหมาย IP Address ตามข้อกำหนด InterNIC คลาส ค่าของตัวเลขใน ออกเต็ดแรก แอสเดรสฐานสองของ ออกเต็ดแรกที่เป็นได้ ค่าแอสเดรสฐานสิบ ของออกเต็ดแรก A บิตแรกมีค่าเป็น0 00000001 - 10111111 1 ถึง127 **127ใช้เฉพาะทดสอบ B สองบิตแรกมีค่าเป็น10 10000000 - 10111111 128 ถึง 191 C สามบิตแรกมีค่าเป็น110 11000000 - 11011111 162 ถึง 223 D สี่บิตแรกมีค่าเป็น 1110 11100000 - 11101111 224 ถึง 239 ถูกสงวนไม่ให้ใช้ E ห้าบิตแรกมีค่าเป็น 11110 11110000 - 11110111 240 ถึง 247 ถูกสงวนไม่ให้ใช้ แนวคิดในการแบ่งกลุ่ม IP Address ออกเป็นคลาส ก็เนื่องมาจากที่ InterNIC มองว่าเครือข่าย คอมพิวเตอร์ย่อย ๆ ที่มีการเชื่อมต่อเข้ากับเครือข่าย Internet นั้น มีขนาดเล็กใหญ่ไม่เท่ากัน เครือข่ายของบางองค์กรอาจมีขนาดใหญ่โตและต้องการหมายเลขไอพีแอดเดรสเป็นจำนวนมาก ในขณะที่เครือข่ายขององค์กรบางกลุ่มกลับมีเครื่องคอมพิวเตอร์อยู่เพียงไม่กี่เครื่อง ในปัจจุบัน IP Address ที่จัดว่าอยู่ในคลาส A แทบจะไม่ได้มีการจัดสรรให้กับหน่วยงานใดมากนัก IP Address ใน คลาส A นี้ได้รับการกำหนดขึ้นเพื่อใช้จัดสรรให้กับองค์กรขนาดใหญ่มากที่มีเครื่องคอมพิวเตอร์ เชื่อมต่อภายในองค์กรเป็นจำนวนมาก คลาส B เหมาะสำหรับการกำหนดใช้งานให้กับองค์กรขนาด กลาง คลาส C เป็นคลาสที่มักมีการกำหนดใช้งานกับเครื่องคอมพิวเตอร์ส่วนใหญ่ภายในเครือข่าย Internet 19 2.3 การแบ่งเครือข่ายย่อย (Subnetwork) การทำ Subnetwork ก็คือ การแบ่งเครือข่ายออกเป็นส่วนย่อย ๆ เพื่อให้ง่ายแก่การบริหาร และง่ายแก่การนำไปใช้ เพราะถ้าไม่มีการแบ่ง Subnet แล้วล่ะก็ การแจกจ่ายหมายเลข IP Address ให้กับเครื่องหรือระบบเครือข่ายย่อย ๆ อาจจะทำให้สิ้นเปลืองหมายเลข IP Address ไปโดยใช่เหตุ เพราะว่าถ้ากำหนดเครื่องลูกข่ายแม้ว่าจะเป็นคลาส C ซึ่งสามารถมีเครื่องลูกข่ายได้ถึง 254 เครื่อง แต่ในความเป็นจริงแล้ว ก็คงจะไม่สามารถมีได้มากถึงขนาดนั้น การแบ่ง Subnet จึงเข้ามาช่วยใน การแบ่งเครือข่ายออกเป็นเครือข่ายย่อย ๆ วิธีการแบ่ง Subnet ตามRFC 950 จะแบ่งโดยที่จะใช้ Subnetid มาเพื่อกำหนดว่าเป็นเครือข่ายย่อยที่เท่าไร ตัวอย่างเช่น เครือข่าย 158.108.0.0 อาจใช้8บิต แรกของโฮสต์มาใช้เป็น SubnetID และอีก 8 บิตที่เหลือใช้เป็นเลขโฮสต์ดังภาพที่ 2-13 ส่วนใน SubnetID ที่เพิ่มขึ้นมาถือว่าเป็นการขยายเครือข่ายออกไปจึงเรียกเลขเครือข่ายและ SubnetID รวมกันเรียกว่า พรีฟิกช์เครือข่ายส่วนขยาย (Extended Network Prefix)โดยสามารถเขียนแทน จำนวนบิตพรีฟิกช์ตามภาพที่2-13 ที่ด้วย /24 หรือมีพรีฟิกช์เท่ากับ 24 16 บิต 8 บิต 8 บิต 158.108 SubnetID HostID ภาพที่ 2-13 ตัวอย่างการแบ่งเครือข่ายย่อยของ 158.108 ตารางที่ 2-3 การแบ่งเครือข่ายย่อยของ 158.108 ด้วย Subnet 8 บิต Subnetที่ เครือข่ายย่อย IP Address เริ่มต้น IP Address สุดท้าย 0 158.108.0.0 ไม่ใช้ - 1 158.108.1.0 158.108.1.1 158.108.1.254 2 158.108.2.0 158.108.2.1 158.108.2.254 3 158.108.3.0 158.108.3.1 158.108.3.254 : : : : 253 158.108.253.0 158.108.253.1 158.108.253.254 254 158.108.254.0 158.108.254.1 158.108.254.254 255 158.108.255.0 ไม่ใช้ - พรีฟิกช์เครือข่ายส่วนขยาย 20 Subnetmask เป็นตัวเลข 32 บิต เหมือนกับ IP Address และจะใช้เจ้า Subnetmask นี้ในการ บอกข้อมูลว่ามีกี่บิตเป็น NetworkID และกี่บิตเป็น Host ID โดยที่จะมีค่า บิต 1 สำหรับส่วนที่เป็น NetworkID และ บิต 0 สำหรับส่วนที่เป็น Host ID เช่น ถ้ามี IP Address ที่เป็น Class A ซึ่งมี NetworkID เท่ากับ 8 บิต และ Host ID เท่ากับ 24 บิต สามารถเขียน Subnetmask เรียงตามบิตได้ ดังนี้ 11111111 . 00000000 . 00000000 . 00000000 และถ้าแปลงเป็นเลขฐาน10 ก็จะได้ 255.0.0.0 และในปัจจุบันนิยมเขียน Subnetmask โดยมีพรีฟิกช์ในรูปแบบที่นิยมคือ 158.108.0.0/24โดย เรียกว่าเครือข่าย 158.108.0.0 มีพรีฟิกช์ 24 บิต จากหมายเลข Subnetmask ของ IP ในแต่ละคลาส จะสามารถทราบได้ทันทีว่า แต่ละคลาส นั้นมีเครื่องลูกข่ายได้กี่เครื่อง โดยดูจากหมายเลข 0 ซึ่งถ้าแปลงออกมาเป็นเลขฐานสองแล้วจะได้ ดังนี้ Class A 255.0.0.0 11111111.00000000. 00000000. 00000000 มี 0 จำนวน 24 ตัว จะได้ = 224 = 16,777,214 เครื่อง Class B 255.255.0.0 11111111. 11111111.00000000.00000000 มี 0 จำนวน 16 ตัว จะได้ = 216 = 65,536 เครื่อง Class C 255.255.255.0 11111111. 11111111. 11111111.00000000 มี 0 จำนวน 8 ตัว จะได้ = 28 = 256 เครื่อง ภาพที่ 2-14 การคำนวนจำนวนเครื่องลูกข่ายในแต่ละคลาส ถ้าไม่ได้ทำการแบ่ง Subnet ใด ๆ ก็จะต้องใช้หมายเลข Subnet Mask ที่เป็นค่าดีฟอลต์ของ คลาสๆ นั้น ถ้าอยู่ในคลาส C และไม่ได้แบ่ง Subnet เวลากำหนดหมายเลข Subnet Mask ให้กับ เครื่องลูกข่าย ก็จะกำหนดไว้ที่ 255.255.255.0 บทที่ 3 วิธีการดำเนินงาน สารนิพนธ์ฉบับนี้ ได้ทำการจำลองการทำงานของ VLAN บนระบบปฏิบัติการลินุกซ์ โดยนำคุณสมบัติและความสามารถของระบบปฏิบัติการลินุกซ์ มาใช้ในการรับส่งข้อมูลในเครือข่ายและ ทำการตรวจสอบ packet ข้อมูลที่มีการเดินทางในเครือข่ายเพื่อพิจารณาว่าอยู่ใน VLAN เดียวกัน หรือไม่และทำการส่ง packet ไปยังปลายทางตามที่กำหนดคุณสมบัติไว้ใน VLAN โดยแบ่งการ ดำเนินงานออกเป็นดังนี้ 3.1 ขั้นตอนการออกแบบโปรแกรม ประกอบด้วย การดักจับ packet บนเครือข่าย การอ่าน IP Address ใน Header ของแต่ละ packet การพิจารณา IP Address ที่เป็นสมาชิกในแต่VLAN บนระบบเครือข่าย การทำงานในส่วนของ User Interface ที่ทำงานผ่าน Web Browser 3.2 ขั้นตอนการพัฒนาโปรแกรม ประกอบด้วย เครื่องมือที่ใช้ในการพัฒนาโปรแกรม หลักการพัฒนาโปรแกรม 3.3 ขั้นตอนการประเมินประสิทธิภาพโปรแกรม ประกอบด้วย เครื่องมือที่ใช้ในการประเมินโปรแกรม สถิติที่ใช้ในการวิเคราะห์ข้อมูล 22 3.1 ขั้นตอนการออกแบบโปรแกรม ภาพที่ 3-1 ขั้นตอนการทำงานของ VLAN ที่จำลองในระบบปฏิบัติการลินุกซ์ START ดักจับ packet ที่ผ่านมายังเครื่องลินุกซ์ ที่จำลองการทำงานของ VLAN และที่ ทำหน้าที่เป็น Gateway อ่าน Header แต่ละ packet เพื่อตรวจ IP Address ของต้นทาง และ ปลายทาง ตรวจสอบ IP Address ตามที่ กำหนดใน VLAN ทิ้ง packet นั้น ส่ง packet ไปยังปลายทางของแต่ละ IP Address STOP IP Address ต้นทางและ ปลายทางอยู่ต่าง VLANกัน IP Address ต้นทางและ ปลายทางอยู่ใน VLANเดียวกัน 23 3.1.1 การดักจับ packet บนเครือข่าย หลักการทำงานของการดักจับข้อมูลโดยปกติเครื่องคอมพิวเตอร์ที่อยู่ใน LAN เดียวกันจะ ได้รับข้อมูลที่เครื่องคอมพิวเตอร์ทำการรับและส่งกันในระบบ LAN ทั้งหมด ซึ่งในการรับและส่ง ข้อมูลระหว่างเครื่องคอมพิวเตอร์นั้น จะมีการกำหนด IP Address ของเครื่องรับปลายทาง จึงเป็น หน้าที่ของเครื่องรับปลายทางในการตรวจสอบ Header ของแต่ละ packet ว่ามี IP Address ปลายทางที่ส่งมาถึงเครื่องที่รับหรือไม่ ถ้าใช่ก็จะทำการรับข้อมูล แต่ถ้าไม่ใช่ก็จะทำการปฏิเสธ ข้อมูลดังกล่าว การกระทำนี้สามารถระบุได้ว่าข้อมูลนั้นถูกส่งมาจากต้นทางที่ใดและต้องการส่งไป ยังปลายทางที่ไหน ส่วนของดักจับข้อมูลนั้นเป็นส่วนที่ติดต่อกับ Network Interface Card (NIC) บน ระบบปฏิบัติการลินุกซ์ ซึ่งปกติก็จะทำการอ่าน IP Address ที่ Header และตรวจสอบว่าเป็น packet ที่ส่งมาถึงหรือไม่ แต่ในสารนิพนธ์ต้องการที่จะดักจับ packet ทุกๆ packet ที่เข้ามาจึงได้นำคุณสมบัติที่มีมาในระบบปฏิบัติการลินุกซ์มาใช้โดยการใช้คำสั่ง # echo "1" > /proc/sys/net/ipv4/ip_forward เป็นคำสั่งที่กำหนดค่า 1 ให้ ip_forward ที่เป็น โปรแกรมในอยู่ในระบบปฏิบัติการลินุกซ์เพื่อให้รับ packet อื่นๆนอกจาก packet ที่ส่งมายัง ระบบปฏิบัติการลินุกซ์ โดยปกติจะมีค่าป็น 0 ในการดักจับpacket ให้กำหนดเครื่องคอมพิวเตอร์ที่ อยู่ในเครือข่ายตั้งค่า Gateway มายังเครื่องที่ติดตั้งระบบปฏิบัติการลินุกซ์ที่ทำการจำลอง VLAN เมื่อรับ packet มาก็จะนำไปเก็บไว้ใน buffer ซึ่งอยู่ใน memory เพื่อทำการวิเคราะห์ส่วน Header และข้อมูลบางส่วนของ packet ตั้งแต่ระดับ Network layer ไปจนกระทั่งถึง Application Layer การ อ่านค่า data ใน buffer เพื่อทำการแยก Header ของแต่ละ layer ออก ซึ่งจะได้ Header ในระดับ Data link layer, IP (Network layer) , TCP (Transport layer) ซึ่งสามารถนำข้อมูลที่ได้ดังกล่าวไปใช้งาน ได้ 3.1.2 การอ่าน IP Address ใน Header ของแต่ละpacket เมื่อดักจับ packet ที่มีในระบบเครือข่ายก็จะทำการแยกส่วน Header ของ packet เพื่ออ่าน ข้อมูลในแต่ส่วนการทำสารนิพนธ์นี้จะนำเฉพาะ IP Address มาพิจารณา โดย Headerใน packet ที่ สามารถดักจับได้ภายในเครือข่ายสามารถแบ่งออกได้เป็น 2 แบบคือ Header ที่เป็นแบบ IEEE 802.3 Ethernet Frame ภาพที่ 3-2 Ethernet Frame IEEE 802.3 Preamble: 7 SFD: 7 DA: 6 SA: 6 Types/ Data: 48-1500 CRC:4 Length: 2 Normal Ethernet Frame 24 และส่วน Header ที่เป็นของ VLAN ซึ่งจะมี VLAN Tagging ตามมาตรฐาน IEEE 802.1Q ภาพที่ 3-3 VLAN IEEE 802.1Q Frame ปกติที่ Network Interface Card จะตรวจสอบข้อมูลที่ Header ของแต่ละ packet ก่อนที่จะ ตัดสินใจรับหรือทิ้ง packet นั้นไปใน Network Interface Card บางรุ่นจะทำการทิ้ง packet ที่มี VLAN Tagging เพราะเข้าใจว่า Header ที่อ่านจาก packet นั้นเสียหายและจะไม่สามารถอ่านข้อมูล ของ IP Address ได้ ในการจะให้ระบบปฏิบัติการลินุกซ์ สามารถอ่าน Header ที่มี VLAN Tagging ได้ต้องใช้ 802.1Q Module และทำการกำหนด VID ใน Network Interface Card 3.1.3 การพิจารณา IP Address ที่เป็นสมาชิกในแต่ VLAN บนระบบเครือข่าย ระบบปฏิบัติการลินุกซ์ จะพิจารณาว่าจะส่ง packet ต่อไปยังปลายทางหรือไม่ ในการทำงาน ขั้นนี้จะใช้ IP Address ตรวจสอบสมาชิกในแต่ละ VLAN การกำหนดสมาชิกในแต่ละVLAN ใน สารนิพนธ์นี้ได้นำ Iptable Module ซึ่งเป็น Firewall ของระบบปฏิบัติการลินุกซ์มาใช้งานในการ พิจารณา IP Address ของแต่ละ packet ที่ผ่านเข้ามาเพื่อตรวจสอบว่าเป็นสมาชิกตามที่กำหนดในแต่ ละ VLAN หรือไม่ 3.1.3.1 หลักการทำงานของ Iptable Iptable คือโปรแกรมที่เป็น Firewall นำมาใช้ในการกรอง packet ในระบบปฏิบัติการ ลินุกซ์โดยที่โปรแกรมจะประกอบด้วยตารางข้อมูลของ IP Address ที่ถูกกำหนดเป็นกฎใช้ในการ ตรวจสอบ packet ว่าอนุญาตหรือไม่อนุญาตให้ผ่านเข้ามาในระบบเครือข่าย กฎต่างๆสามารถ กำหนดโดยผู้ดูแลระบบหรือผู้ใช้งานคอมพิวเตอร์ที่สถานะเป็น Root ในระบบปฏิบัติการลินุกซ์ โดยที่ Iptable จะประกอบไปด้วยตารางที่ใช้พิจารณาอยู่ 3 ตารางด้วยกันคือ Pr eamble: 7 SFD: 7 DA: 6 SA: 6 2 2 Types/ Data: 48-1500 CRC:4 TPI TAG Length: 2 IEEE 802.1Q Tagged Frame Inserted Fields IEEE 802.1q only : 81-00 SNAP : AA-AA-03 User CFI Bits of VLAN ID (VID) to Identifly 4,096 Possible VLANS Priority 3 bits 1 bits 12 bits 802.1q 25 1. Chain INPUT เป็นตารางที่ใช้ตรวจสอบ IP Address ของ packet ที่จะเข้ามา ในเครื่องระบบปฏิบัติการลินุกซ์ที่ใช้งาน Iptable อยู่ 2. Chain OUTPUT เป็นตารางที่ใช้ตรวจสอบ IP Address ของ packet ที่จะ ออกจากเครื่องระบบปฏิบัติการลินุกซ์ที่ใช้งาน Iptable อยู่ 3. Chain FORWARD เป็นตารางที่ใช้ตรวจสอบ IP Address ของ packet ที่จะ เข้าในเครื่องระบบปฏิบัติการลินุกซ์และจะถูกส่งต่อ packet ต่อไปยังปลายทางซึ่งใช้ในกรณีที่ใช้ ระบบปฏิบัติการลินุกซ์ทำหน้าที่เป็น Gateway ซึ่งตารางนี้จะเป็นตารางหลักในสารนิพนธ์นี้จะ นำมาใช้ในการตรวจสอบ Ip Address ของ packet ในระบบเครือข่าย เมื่อมี packet ในระบบ เครือข่ายเดินทางมายัง Gateway Routing Decision ทำการตรวจสอบ IP Address ปลายทาง ตรวจสอบ IP Address ในกฏของ FORWARD TABLE ตรวจสอบ IP Address ในกฏของ INPUT TABLE IP Address ปลายทางตรงกับ IP Address ของระบบปฏิบัติการลินุกซ์ IP Address ปลายทางไม่ตรงกับ IP Address ของระบบปฏิบัติการลินุกซ์ ทิ้ง packet เมื่อตรวจสอบ ตามกฎที่กำหนดไว้ Local Process ตรวจสอบ IP Address ในกฏของ OUTPUT TABLE จัดส่ง packet ไปยัง IP Address ปลายทาง Packet ที่กฏในตาราง ปฎิเสธไม่ยอมให้ผ่าน Packet ที่กฏในตาราง ปฎิเสธไม่ยอมให้ผ่าน Packet ที่กฏในตาราง ยอมให้ผ่าน Packet ที่กฏในตาราง ยอมให้ผ่าน Packet ข้อมูลของระบบ ปฏิบัติการลินุกซ์ที่จะส่งไป ยังคอมพิวเตอร์เครื่องอื่นๆ Packet ที่กฏในตาราง ปฎิเสธไม่ยอมให้ผ่าน Packet ที่กฏในตาราง ยอมให้ผ่าน ภาพที่ 3-4 Block Diagram แสดงขั้นตอนการตรวจสอบ IP Address ใน Iptable 26 ขั้นตอนการทำงานในการตรวจสอบ IP Address ใน Iptable 1. เมื่อ packet ที่มีในระบบเครือข่ายเดินทางเข้ามาที่ระบบปฏิบัติการลินุกซ์ซึ่ง ทำหน้าที่เป็น Gateway ได้รับการอ่านค่า IP Address จาก Header เพื่อที่จะรับการตรวจสอบ IP Address ในขั้นตอน Routing Decision 2. ขั้นตอนการตรวจสอบขั้นแรก Routing Decision จะตรวจสอบ IP Address ปลายทางของแต่ละ packet เมื่อทำการตรวจสอบจะแยก packet ออกเป็น 2 กลุ่ม โดยกลุ่มแรกเมื่อ IP Address ปลายทางตรง IP Address ของระบบปฏิบัติการลินุกซ์ก็จะจัดส่งไปพิจารณาในกฎของ INPUT Table กลุ่มที่ 2 เมื่อ IP Address ปลายทางไม่ตรงกับ IP Address ของระบบปฏิบัติการลิ นุกซ์ก็จะจัดส่งไปพิจารณาในกฎของ FORWARD TABLE โดยในสารนิพนธ์จะใช้ FORWARD TABLE มาใช้ตรวจสอบสมาชิกในแต่ละ VLAN 3. ขั้นตอนการตรวจสอบ IP Address ของแต่ละ packet ใน FORWARD TABLE จะตรวจสอบทั้ง IP Address ต้นทางและปลายทาง โดยกฎที่มีใน FORWARD TABLE จะ ถูกกำหนดให้เฉพาะ IP Address ที่อยู่ใน VLAN เดียวกันสามารถยอมให้ packet ผ่านไปได้ก็จะเข้า สู่กระบวนการส่งต่อไปยัง IP Address ปลายทางต่อไปและ packet ที่มี IP Address อยู่ละ VLAN จะ ไม่ตรงกับกฎที่กำหนดไว้จะทำให้ ปฏิเสธ packet นี้และไม่ยอมให้ผ่านก็จะเข้าสู่ขั้นตอนการทิ้ง packet 4. ขั้นตอนการตรวจสอบ IP Address ของแต่ละ packet ใน INPUT TABLE จะตรวจสอบ IP Address ต้นทาง โดยขึ้นอยู่กับกฎที่มีใน INPUT TABLE ถ้ากฎที่ยอมให้ผ่านได้ packet ผ่านไปในเครื่องระบบปฏิบัติการลินุกซ์และ packet ที่มีไม่ตรงกับกฎที่กำหนดไว้จะทำให้ ปฏิเสธ packet นี้ก็จัดส่งไปยังขั้นตอนการทิ้ง packet 5. เมื่อระบบปฏิบัติการลินุกซ์จะจัดส่ง packet ไปยังคอมพิวเตอร์อื่นๆใน เครือข่ายก็จะตรวจสอบ IP Address ของแต่ละ packet ที่จะจัดส่งในกฎของ OUTPUT TABLE ถ้า กฎที่ยอมให้ผ่านได้ packet ก็จะถูกส่งไปตามที่ IP Address ปลายทางระบุไว้ในส่วน packet ที่ไม่ ตรงกับกฎที่กำหนดไว้จะทำให้ ปฏิเสธ packet นี้และจัดส่งไปยังขั้นตอนการทิ้ง packet ในการออกแบบโปรแกรมในสารนิพนธ์ได้เพิ่มส่วนที่ช่วยให้ระบบเครือข่ายขนาดเล็ก ติดต่อกับ Internet โดยที่มี 1 Public IP Address และต้องการให้เครื่องคอมพิวเตอร์ทั้งหมดใน เครือข่ายใช้งาน Internet จะมีการนำ NAT (Network Address Translation) มาใช้งานเพื่อให้ Private IP Address ที่ได้กำหนดขึ้นมาในระบบเครือข่ายภายในสามารถเปลี่ยนเป็น Public IP Address เพื่อ ออกไปใช้งาน Internet โดยที่การทำงานผ่าน Iptable มีกระบวนการทำงาน ดังนี้ 27 เมื่อมี packet ในระบบ เครือข่ายเดินทางมายัง Gateway Routing Decision ทำการตรวจสอบ IP Address ปลายทาง ตรวจสอบ IP Address ในกฏของ FORWARD TABLE ตรวจสอบ IP Address ในกฏของ INPUT TABLE IP Address ปลายทางตรงกับ IP Address ของระบบปฏิบัติการลินุกซ์ IP Address ปลายทางไม่ตรงกับ IP Address ของระบบปฏิบัติการลินุกซ์ ทิ้ง packet เมื่อตรวจสอบ ตามกฎที่กำหนดไว้ Local Process ตรวจสอบ IP Address ในกฏของ OUTPUT TABLE จัดส่ง packet ไปยัง IP Address ปลายทาง Packet ที่กฏในตาราง ปฎิเสธไม่ยอมให้ผ่าน Packet ที่กฏในตาราง ปฎิเสธไม่ยอมให้ผ่าน Packet ที่กฏในตาราง ยอมให้ผ่าน Packet ที่กฏในตาราง ยอมให้ผ่าน Packet ข้อมูลของระบบ ปฏิบัติการลินุกซ์ที่จะส่งไป ยังคอมพิวเตอร์เครื่องอื่นๆ Packet ที่กฏในตาราง ปฎิเสธไม่ยอมให้ผ่าน Packet ที่กฏในตาราง ยอมให้ผ่าน PREROUTING POSTROUTING ภาพที่ 3-5 Block Diagram แสดงขั้นตอนการทำงานของ NAT ใน Iptable 28 การทำงานก็จะเหมือนกับ Iptable ที่ได้กล่าวมาข้างต้นโดยตรวจสอบเมื่อ packet เข้า มาได้รับการอ่านค่า IP Address จาก Header และเข้าไปยังส่วนของ PREROUTING ทำการตรวจ IP Address ของต้นทางที่ส่งมา และทำการเปรียบเทียบกับตาราง NAT เพื่อเปลี่ยนเป็น IP Address ของ ปลายทางให้เป็น Private IP Address ปลายทางที่ถูกต้องก่อนส่งไปยังกระบวนการทำ Iptable ต่อไป ส่วนในการเปลี่ยนจาก Private IP Address ต้นทางเป็น Public IP Address ก่อนที่จะออกไปยังระบบ Internet ก็ต้องผ่านกระบวนการใน POSTROUTING ที่โดยใช้ IP Masquerade ซึ่งเป็นการทำ NAT วิธีหนึ่ง โดยจะทำการเปลี่ยน Private IP Address ที่ต้องการจะออกไประบบ Internet ให้เป็น Public IP Address ที่ได้ตั้งค่าไว้ที่ Network Interface Card ที่กำหนดให้เป็นส่วนที่ติดต่อกับเครือข่าย ภายนอก 3.1.3.2 รูปแบบการใช้คำสั่งในการกำหนดกฎในแต่ละ TABLE รูปแบบการใช้งาน Iptable เบื้องต้น Iptable จะมีรูปแบบการใช้งานดังนี้คือ # iptables [table] โดยกฎที่เขียนขึ้นจะเป็นเป็นตัวบอก ให้ระบบว่าให้กระทำ action อย่างไร ในกรณีที่พบ packet ตรงตามที่ระบุไว้ ในกฎ โดยที่ [table] หมายถึง ตารางหรือTABLE ที่ต้องการระบุ เช่น iptables –L INPUT หมายถึงให้ ทำงานกับ INPUT TABLE จะเป็นตัวสั่งให้ iptables ทำในสิ่งที่ต้องการ เช่น iptables -A INPUT ซึ่ง หมายถึงให้สร้าง กฎต่อท้าย INPUT chain ใน INPUT TABLE เป็นส่วนที่ใช้ตรวจสอบว่า packet มีข้อมูลตรง (match) กับที่ระบุไว้หรือไม่ เช่น มี Source IP Address เป็น 1.2.3.4 เป็นตัวระบุว่าเมื่อเจอ packet ที่ match ก็จะกระทำ (action) ตามที่ระบุไว้ เช่น ถ้า packet ใดมี Source IP Address เป็น 1.2.3.4 ให้ DROP packet นั้นทิ้งไป ก) คำสั่งต่างที่เรียกใช้งาน<> A เพิ่ม กฎ ใหม่ต่อท้าย chain (Append) เช่น # iptables -A INPUT -p ALL -i eth0 -j ACCEPT D ลบ กฎ (Delete ) เช่น # iptables -D INPUT --dport 80 -j DROP I เพิ่ม กฎ ใหม่ ใน chain (Insert ) เช่น # iptables -I OUTPUT -p ALL -s 127.0.0.1/32 -j ACCEPT R แทนที่ กฎ เดิม ด้วย กฎใหม่ (Replace) L แสดง กฎ ทั้งหมดใน chain 29 F ลบ กฎ ทั้งหมดใน chain ทิ้ง เช่น # iptables -F INPUT # iptables -F mychain Z ใช้ reset byte counter สำหรับทุก กฎ ใน chain ที่กำหนด เช่น # iptables -Z INPUT N ใช้สร้าง chain ใหม่ เช่น # iptables -N mychain X ลบ chain ที่ไม่มีกฎซึ่งสามารถลบ user-defined chain ที่ไม่มีกฎได้แต่ไม่ สามารถลบ built-in chain ได้ เช่น # iptables -X emptychain P เปลี่ยน default policy ของ chain ค่าที่ใช้ได้คือ ACCEPT DROP ทั้งนี้ค่านี้มี ความสำคัญอย่างมากเพราะหาก packet ถูกส่งเข้ามาใน chain แล้ว และไม่ match กับกฎใดๆ เลย packet นั้นก็ต้องถูกตัดสินใจโดย policy ของ chain นั้นๆ เช่น # iptables -P FORWARD DROP ซึ่งหาก packet ถูกส่งเข้ามายัง FORWARD chain และไม่ match กับกฎใดๆ ใน FORWARD chain นี้เลย มันก็จะถูก DROP ทันที E ใช้เปลี่ยนชื่อ chain ใหม่ เช่น # iptables -E myoldchain mynewchain ข) Match การตั้งเงื่อนไขของการ match นั้นจะต้องอาศัยความเข้าใจในเรื่อง IP TCP UDP และ ICMP จึงจะสามารถตั้งเงื่อนไขที่เหมาะสมและตรงตามความต้องการได้ ซึ่งมีรายละเอียดดังนี้ การระบุ source, destination IP Address สามารถระบุ Source IP Address ของ packet โดยใช้ -s หรือ --source หรือ --src และสำหรับ destination ip Address ก็ใช้ -d หรือ --destination หรือ --dst การระบุ IP Address นั้น สามารถทำได้ หลายแบบด้วยกันคือ ระบุโดยใช้ชื่อเต็มแทน เช่น localhost หรือ http://www.kmitnb.ac.th/ ระบุ IP Address โดยตรง เช่น 127.0.0.1 หรือ 202.44.204.33 ระบุเป็น group ของIP Address เช่น 202.44.204.0/24 ซึ่งหมายถึง IP Address ตั้งแต่ 202.44.204.0 - 202.44.204.255 หรืออาจจะใช้ 202.44.204.0/255.255.255.0 แทน 202.44.204.0/24 ได้ 30 การทำ Inversion ในบางกรณีนั้นหากต้องการระบุเป็น inverse เช่น อนุญาตให้ทุกไอพียกเว้นไอ พีที่ระบุไว้ ซึ่งการใช้คำสั่งดังกล่าวสามารถทำได้โดยใช้เครื่องหมาย ! นำหน้า argument ที่ต้องการ (เครื่องหมาย ! หมายถึง NOT) เช่น -p ! TCP ซึ่งจะ match กับโพรโตคอลทุกๆ ตัวที่ไม่ใช่ TCP หรือ -s ! localhost ซึ่งหมายถึง packet ที่มี Source IP Address อื่นๆ ยกเว้น localhost (127.0.0.1) การระบุโพรโตคอล สามารถระบุโพรโตคอลที่ต้องการได้ดังนี้คือ TCP UDP ICMP หรือสามารถใช้ ตัวเลขแทนได้ (สำหรับ *NIX อ้างอิงได้จาก /etc/protocols) และยังสามารถใช้ได้ทั้งตัวอักษรเล็ก หรือใหญ่ (ใช้ได้ทั้ง tcp และ TCP) เช่น -p TCP หรือ -p ! tcp การระบุ interface -i หรือ --in-interface ตามด้วยชื่อ interface ใช้เพื่อระบุ incoming interface ซึ่ง หมายถึงว่า packet ที่จะ match กับกฎ นี้ต้องเข้ามาจาก interface ที่กำหนด เช่น -i eth0 หมายความว่า ทุก packet ที่เข้ามาทาง eth0 จะ match กับ กฎ นี้ ทั้งนี้ชื่อ interface ที่สามารถใช้ได้นั้น สามารถ ตรวจสอบได้โดยใช้คำสั่ง ifconfig และ -o หรือ --out-interface ตามด้วยชื่อของ interface ใช้เพื่อ ระบุ outgoing interface ซึ่งหมายถึงว่า packet ที่จะ match กับ กฎ นี้ กำลังจะเดินทางผ่าน interface ที่ระบุไว้ เช่น -o eth1 หรือ -o ! eth1 ค) การระบุ target เมื่อมี packet ที่ match กับ rule แล้วต้องกำหนด target สำหรับ packet ไว้ด้วย โดยปกติจะใช้กัน 2 target คือ DROP และ ACCEPT DROP หมายถึงให้ทำการทิ้ง packet ที่ match กับกฎนั้น ACCEPT หมายถึงให้ทำการยอมรับ packet ที่ match กับกฎนั้น 3.1.4 การทำงานในส่วนของUser Interface ที่ทำงานผ่าน Web Browser การออกแบบในส่วนของ User Interface ที่เป็น Web Base Appiction ให้ทำการเขียน Shell Script บนระบบปฏิบัติการลินุกซ์โดยมีการออกแบบดังนี้ 31 ภาพที่ 3-6 ขั้นตอนการทำงานในส่วน Web Application ขั้นตอนการทำงานในส่วนของ Web Application VLAN Emulator ขั้นตอนที่ 1 ที่ Web Page จะแสดง Form ให้เลือกการทำงาน VLAN Emulator ว่าจะใช้งานในโหมดใด ระหว่างการใช้เฉพาะ Linux Box ในการกำหนด VLAN หรือใช้ Linux Box ร่วมกับ Switch ในการ กำหนด VLAN โดยจะแสดงปุ่ม Submit เพื่อเลือกโหมดในการทำงาน START เลือกรูปแบบการใช้งานVLAN Emulator การใช้ Linux Box ในการกำหนด VLAN ใช้เฉพาะ Linux Box ใช้ร่วมกับ Switch ใส่ IP Address ในแต่ละ Network Interface Card ใส่ IP Address ของ Sub network ที่ติดต่อกับผ่าน Switch แบ่ง VLAN โดยการเลือก Network Interface Card ใส่ IP Address ใน Network Interface Card และแบ่งVlanแต่ละSubnetwork เขียน Bourne Shell Script STOP 32 ขั้นตอนที่ 2 ในโหมดการใช้เฉพาะ Linux Box ในการกำหนด VLAN จะแสดง Form ให้กรอกข้อมูลค่าIP Address ที่เป็น NetworkID พร้อม Prefix ในแต่ละ Sub network ที่ทำการติดต่อผ่านแต่ละ Network Interface Card ในโหมดใช้ Linux Box ร่วมกับ Switch ในการกำหนด VLAN จะแสดง Form ให้กรอกข้อ มูลค่า IP Address โดยในแต่ละ Sub network ที่ติดต่อผ่าน Switch กำหนดค่า VID ของแต่ละ VLAN ที่ทำการ Config ใน Switch พร้อมกรอกข้อมูล Gateway Broadcast และ NetworkID พร้อม Prefix ขั้นตอนที่ 3 ในโหมดการใช้เฉพาะ Linux Box ในการกำหนด VLAN จะแสดง Form เพื่อทำการแบ่ง VLANโดยทำการรับค่าโดยใช้ Check Box เพื่อแบ่ง Sub network ที่ติดต่อกับแต่ละ Network Interface Card ในโหมดใช้ Linux Box ร่วมกับSwitchในการกำหนด VLAN จะแสดง Form กรอกข้อมูลค่า IP Address ที่เป็น NetworkID พร้อม Prefix ในแต่ละ Subnetwork ที่ทำการติดต่อผ่านแต่ละ Network Interface Card พร้อมทั้งใส่ค่า VID เพื่อกำหนดแต่ละ VLAN โดยมี Check Box เพื่อเลือก ว่าจะใช้ Network Interface Card ติดต่อกับSwitch ขั้นตอนที่ 4 จะทำการเขียน Bourne Shell Script จากการรับค่ามาจากแต่ละ Form ในขั้นตอนก่อนหน้านี้ 3.2 ขั้นตอนการพัฒนาโปรแกรม 3.2.1 เครื่องมือที่ใช้ในการพัฒนาระบบ 3.2.1.1 ภาษา PHP และ HTML เนื่องจากทั้งสองภาษาเป็นภาษาที่นิยมใช้ในการพัฒนาเว็บและทั้งสองภาษาสามารถ ใช้งานร่วมกันได้เป็นอย่างดี ซึ่งลักษณะเด่นและข้อแตกต่างของทั้งสองภาษามีดังนี้ ภาษา PHP เป็นภาษาสคริปต์ที่ทำงานทางฝั่งเซิร์ฟเวอร์ (server-side scripting language) ซึ่งมีลักษณะเป็น embedded script หมายความว่าเราสามารถฝังคำสั่ง PHP ไว้ในเว็บเพจ ร่วมกับคำสั่ง (Tag) ของ HTML ได้ และมีลักษณะเป็นไดนามิกเอกทีพเพจ(dynamic active page) คือสามารถที่จะเปลี่ยนค่าแสดงผลได้ตลอดเวลาขึ้นอยู่กับการกำหนดค่าตัวแปรในเว็บเพจนั้นๆ เป็นภาษาที่มีประสิทธิภาพสูง ทำงานได้รวดเร็ว สามารถใช้งานกับเซิร์ฟเวอร์ชนิดไหนก็ได้ 33 ค่าใช้จ่ายในการพัฒนาต่ำ สามารถทำงานกับฐานข้อมูลชนิดใดก็ได้ แต่ที่นิยมคือ MySQL เนื่องจาก ฟรีและมีประสิทธิภาพสูง ภาษา HTML ซึ่งเป็นภาษาที่ทำงานทางฝั่งไคลเอนท์(client side script นั่นคือ สคริปต์ จะถูกเรียกทำงานทางฝั่งไคลเอนต์หรือฝั่งของเว็บบราวเซอร์) ซึ่งมีลักษณะเป็น static page คือเว็บ เพจที่มีลักษณะคงที่ เป็นภาษาที่ใช้อธิบายหน้าตาของเว็บเพจ (HTML จัดเป็นภาษาในกลุ่มที่เรียกว่า page description language) หรือกล่าวอีกนัยหนึ่งคือ HTML สามารถกำหนดให้เว็บเพจมีหน้าตา อย่างที่เราต้องการได้ ซึงนิยมใช้ร่วมกับภาษาสคริปต์อื่นๆ 3.2.1.2 Shell Script เชลล์เป็นได้ทั้งแปลคำสั่งและภาษาโปรแกรม เชลล์ก็สามารถนำมาเขียนเป็นภาษา โปรแกรมกัน ภาษาโปรแกรมทุกภาษาจะต้องมีประโยคคำสั่งและตัวแปร ประโยคคำสั่งที่สำคัญ ที่สุดก็คือ การอ่านข้อมูล การแสดงผลข้อมูล และการกำหนดค่าตัวแปร นอกจากนี้ มีประโยค เงื่อนไข ประโยคสำหรับการวนลูบ (loop) และสามารถสร้างโปรแกรมย่อยได้ รวมทั้งควรจะ อนุญาตให้โปรแกรมย่อยสามารถเรียกตนเองได้ (recursion) เชลล์คงไม่สามารถแสดงตัวว่าเป็น ภาษาโปรแกรม ถ้าไม่มีคุณสมบัติครบถ้วนตามที่กล่าวมานั้น ที่จริงโปรแกรมเชลล์ในเชลล์สคริปต์ (เชลล์สคริปต์ก็คือโปรแกรมเชลล์ ) ได้แก่ การนำเอาคำสั่งเชลล์มาประกอบกันมากกว่า 1 คำสั่ง โดย การนำประโยคเงื่อนไข ลูป และอื่น ๆ รวมทั้งการใช้ตัวแปร มาประกอบกันเป็นโปรแกรมส่วนใน แง่ของการเปรียบเทียบระหว่างโปรแกรมเชลล์ กับโปรแกรมทั่ว ๆ สิ่งแรกที่ต้องทราบก็คือ เชลล์ เป็นภาษาแบบ interpreter ในขณะที่ภาษาอื่น ๆ ส่วนมากจะเป็นคอมไพเลอร์นั่นก็หมายความว่า เชลล์จะต้องทำการแปล (interpret) โปรแกรมทุกครั้งที่รันโปรแกรม ทำให้โปรแกรมเชลล์นี้ทำงาน ได้ช้ากว่าโปรแกรมที่เขียนในภาษาอื่นทั่ว ๆ ไป แต่จุดเด่นของภาษาเชลล์ก็คือความง่ายในการเขียน โปรแกรม โดยเฉพาะกับลักษณะของงานที่มีคำสั่งเชลล์ใช้อยู่แล้ว นอกจากนี้ตัวแปรในโปรแกรม เชลล์จะเป็นในลักษณะที่ไม่ระบุชนิด (weak type) ทำให้ไม่ต้องกังวลว่าจะเกิดการใช้ตัวแปรผิด ชนิด เช่น การอ่านข้อมูลจากเทอร์มินัลไปเก็บในตัวแปร สามารถใช้ตัวแปรตัวเดียวกันได้ ไม่ว่า ข้อมูลที่ผู้ใช้พิมพ์นั้นจะเป็นตัวเลข หรือข้อความ จะเห็นว่าในระบบยูนิกซ์และลินุกซ์เอง ก็มีคำสั่ง หลาย ๆ คำสั่งที่เขียนขึ้นด้วยเชลล์ เช่น กระบวนการในการปิดระบบ (shut down) 3.2.2 หลักการพัฒนาโปรแกรม การพัฒนาโปรแกรม ที่เป็น Web Base Appiction จะใช้โปรแกรม Dreamweaver ในการ ออกแบบและใช้ ภาษา PHP ในการควบคุมโปรแกรมโดยจะทำการกำหนด Form ให้รับค่าในแต่ละ Webpage แล้วนำมาให้ภาษา PHP ทำการเช็คเงื่อนไขในการทำงานตามที่ได้ออกแบบและนำค่าที่ 34 ผ่านกระบวนการตรวจสอบเงื่อนไขแล้วใช้คำสั่งในภาษา PHP เพื่อเขียน Bourne Shell Script บน ระบบปฏิบัติการลินุกซ์ และเมื่อทำการ Run Script ก็สามารถใช้งานระบบ VLAN ที่จำลองขึ้นได้ 3.3 ขั้นตอนการประเมินประสิทธิภาพของโปรแกรม 3.3.1 เครื่องมือที่ใช้ในการประเมินโปรแกรม เครื่องมือที่นำมาใช้ในการประเมินหาประสิทธิภาพของระบบที่พัฒนาขึ้นในโครงการนี้คือ แบบสอบถามเพื่อประเมินประสิทธิภาพของโปรแกรมคอมพิวเตอร์ที่พัฒนาขึ้น โดยการประเมิน ประสิทธิภาพของโปรแกรม จะได้รับ การประเมินจากผู้เชี่ยวชาญโดยแบ่งเป็น 3 หัวข้อดังนี้ 1. ประเมินระบบด้านความสามารถทำงานตรงตามความต้องการ (Functional Requirement Test) สำหรับผู้ใช้งานโปรแกรม 2. ประเมินระบบด้านหน้าที่ของระบบ (Functional Test) สำหรับผู้ใช้งานโปรแกรม 3. ประเมินระบบด้านการใช้งานระบบ (Usability Test) สำหรับผู้ใช้งานโปรแกรม แบบประเมินประสิทธิภาพของโปรแกรมได้กำหนดเกณฑ์การให้คะแนนโดยประกอบด้วยมาตรา อันดับ (Rating Scale) เชิงคุณภาพ 5 ระดับ และมาตรอันดับเชิงปริมาณ 5 ระดับ ดังตารางที่ 3-1 ตารางที่ 3-1 แสดงเกณฑ์การให้คะแนนของแบบประเมิน ระดับเกณฑ์การให้คะแนน เชิงคุณภาพ เชิงปริมาณ ความหมาย ดีมาก 4.50-5 ระบบสามารถสนับสนุนและรองรับการทำงานเกี่ยวกับ งานนั้นๆ ได้อย่างมีประสิทธิภาพในระดับดีมาก ดี 3.51-4.50 ระบบนั้นสามารถสนับสนุนและรองรับการทำงาน เกี่ยวกับงานนั้นๆ ได้อย่างมีประสิทธิภาพในระดับดี พอใช้ 2.51-3.50 ระบบนั้นสามารถสนับสนุนและรองรับการทำงาน เกี่ยวกับงานนั้นๆ ได้อย่างมีประสิทธิภาพในระดับ พอใช้ ปรับปรุง 1.51-2.50 ระบบนั้นสามารถสนับสนุนและรองรับการทำงาน เกี่ยวกับงานนั้นๆ ได้ในระดับปรับปรุง ไม่เหมาะสม 0-1.50 ระบบไม่สามารถสนับสนุนและรองรับการทำงาน เกี่ยวกับงานนั้นๆ ได้ 35 3.3.2 สถิติที่ใช้ในการวิเคราะห์ข้อมูล การวิเคราะห์ข้อมูลจากแบบสอบถาม เพื่อใช้ประเมินประสิทธิภาพของโปรแกรมจำลอง VLANโดยสถิติที่ใช้ในการวิเคราะห์ข้อมูลในครั้งนี้ ใช้สถิติเชิงพรรณนา (Descriptive Statistics) ใน การวัดค่ากลางของข้อมูลโดยใช้ค่าเฉลี่ยเลขคณิต (Arithmetic Mean) หรือค่าเฉลี่ย (Mean) วัดการ กระจายของข้อมูลโดยใช้ส่วนเบี่ยงเบนมาตรฐาน (Standard Deviation) และการทดสอบค่าเฉลี่ย กลุ่มตัวอย่างหนึ่งกลุ่มด้วยค่าที (t–test) โดยให้ค่านัยสำคัญทางสถิติ (.) เท่ากับ .05 รวมทั้งการ ประมวลผลข้อมูลใช้โปรแกรมวิเคราะห์ค่าทางสถิติ SPSS/FW ดังนี้ 3.3.2.1 ค่าเฉลี่ยเลขคณิต (Arithmetic mean) หรือค่าเฉลี่ย (Mean) (ชูศรี, 2541:34) จากสูตร เมื่อ X แทน เฉลี่ยเลขคณิตหรือค่าเฉลี่ย แทน ผลรวมทั้งหมดของข้อมูล N แทน จำนวนข้อมูลทั้งหมด 3.3.2.2 ค่าส่วนเบี่ยงเบนมาตรฐาน (Standard Deviation) (ชูศรี, 2541: 64) จากสูตร เมื่อ SD แทน ค่าเบี่ยงเบนมาตรฐานของคะแนนของกลุ่มตัวอย่าง X แทน ค่าเฉลี่ยของข้อมูลกลุ่มตัวอย่าง Xi แทน ค่าข้อมูลตัวที่ i n แทน ค่าของจำนวนข้อมูล (กลุ่มตัวอย่าง) N x x N i i .= = 1 _ 1 1 _ 2 . ... ... . = .= n x x SD n i i .= N i i x 1 36 3.3.2.3 การทดสอบค่าเฉลี่ยกลุ่มตัวอย่างหนึ่งกลุ่มด้วยค่าที (t–test) โดยการทดสอบมี ข้อตกลง (Assumption) ดังนี้ 1. กลุ่มตัวอย่างมีขนาดเล็ก (n < df =" n-1"> 3.5) กรณีทดสอบสมมติฐานเกี่ยวกับคะแนนเฉลี่ยรวมจากการประเมินในทุกด้าน และจากผู้ประเมินทุกกลุ่มตั้งสมมติฐานเพิ่ม ดังนี้ n s t x . . = 37 H0 : คะแนนเฉลี่ยจากการประเมินอยู่ในระดับดี (. = 4.5) H1 : คะแนนเฉลี่ยจากการประเมินอยู่ในระดับดีมาก (. > 4.5) ข) กำหนดสถิติที่ใช้ทดสอบ df = n-1 ค) กำหนดนัยสำคัญ . = .05 ง) พิจารณาเขตยอมรับหรือปฏิเสธ H0 เกณฑ์ที่ใช้ในการพิจารณาตัดสินว่าจะยอมรับหรือปฏิเสธสมมติฐานว่าง คือ ปฏิเสธ H0 ถ้าค่าที่ได้จากการทดสอบ t ที่คำนวณได้มากกว่าค่าวิกฤตที่หาได้จากตารางการแจกแจง t สำหรับระดับนัยสำคัญที่ . กล่าวคือ t(คำนวณ) > t(ตาราง) ที่ (1-.) และระดับขั้นความเสรี (n-1) 3.3.2.4 การวัดความเบ้เป็นการวัดว่าข้อมูลชุดนั้นมีลักษณะของโค้งเป็นแบบสมมาตร (Symmetry) หรือมีลักษณะเบ้ (Skewed) โค้งสมมาตรเป็นโค้งที่มีค่าความเบ้เป็นศูนย์ ถ้าบางข้อมูลมี ค่าสูงจะทำให้ค่าเฉลี่ยสูงกว่าค่ามัธยฐานและค่าฐานนิยม ลักษณะโค้งจะเป็นแบบเบ้ขวา (Skewed to the right) และมีค่าความเบ้เป็นบวก (Positively skewed) แต่ถ้าบางข้อมูลมีค่าน้อยจะทำให้ค่าเฉลี่ย น้อยกว่าค่ามัธยฐาน ลักษณะโค้งจะเป็นแบบเบ้ซ้าย (Skewed to the left) มีค่าความเบ้เป็นลบ (Negatively skewed) Karl Pearson ได้ให้สูตรสำหรับวัดค่าความเบ้และทิศทางการเบ้ไว้ดังนี้ ค่าสัมประสิทธิ์ของความเบ้นี้จะมีค่าอยู่ระหว่าง +3 กับ -3 n s t x . . = ค่าเบี่ยงเบนมาตรฐาน 3(ค่าเฉลี่ย- ค่ามัธยฐาน) สัมประสิทธิ์ความเบ้ = 38 3.3.2.5 กฎเกณฑ์การยอมรับประสิทธิภาพของโปรแกรม พิจารณาจากคะแนนเฉลี่ย ของกลุ่มทดลองโดยต้องมีคะแนนเฉลี่ยอยู่ในระดับดีขึ้นไป และผลการทดสอบค่าเฉลี่ยกลุ่มตัวอย่าง หนึ่งกลุ่มด้วยค่าที (t–test) โดยให้ค่านัยสำคัญทางสถิติ ( . ) เท่ากับ .05 จึงยอมรับว่าโปรแกรมนี้มี ประสิทธิภาพอยู่ในระดับพอใช้และค่าเฉลี่ยกลุ่มตัวอย่างรวมต้องอยู่ในระดับดี บทที่ 4 ผลการดำเนินงานและการประเมิน ผลการพัฒนาและทดสอบระบบซึ่งเป็นข้อมูลที่ได้จากการออกแบบการดำเนินงานโปรแกรม VLAN Emulator หลังจากนั้นก็จะนำระบบมาทำการทดสอบว่าระบบทำงานได้มีประสิทธิภาพและ มีความสามารถตามที่ออกแบบไว้หรือไม่ โดยแบ่งออกเป็นหัวข้อดังต่อไปนี้ 4.1 ผลการพัฒนาโปรมแกรม โปรแกรมในส่วนที่เป็น Web Application ที่ทำการพัฒนาโดยภาษา PHP มีส่วนหน้าจอการ ทำงานหลักที่ใช้โต้ตอบกันระหว่างผู้ใช้และโปรแกรม ที่สำคัญมีดังนี้ การเรียกใช้งานโปรแกรม VLAN บน Web Browser โดยการใช้คำสั่ง http://localhost/vlanemulator/start.html 4.1.1 ทำการเลือกจำนวน VLAN ที่ต้องการแบ่งในเครือข่าย ภาพที่ 4-1 หน้าจอโหมดการแบ่ง VLAN โดยใช้ Single Linux Box config VLAN กำหนดจำนวน VLAN ที่ต้องการแบ่งในเครือข่าย กดปุ่มเพื่อทำงานในขั้นต่อไป 40 ภาพที่ 4-2 หน้าจอโหมดการแบ่ง VLAN โดยใช้ Linux Box Connect Switch config VLAN กรณีเลือกการแบ่ง VLAN โดยใช้ Single Linux Box config VLAN 4.1.2 ในหน้าถัดมาการแบ่ง VLAN โดยใช้ Single Linux Box config VLAN ใส่ค่า IP Address พร้อม Prefix ใน Network Interface Card โดยให้ตรงกับค่าที่กำหนด ตอนแรกใน ระบบปฏิบัติการลินุกซ์ ภาพที่ 4-3 หน้าจอนำข้อมูล IP Addressใส่ในโหมด Single Linux Box config VLAN Check เมื่อต้องการต่อเพื่อใช้งานอินเตอร์เน็ต ใส่ค่า Public IP Address กำหนดค่า IP Address ของ Subnetwork ให้ตรงกับที่กำหนดในระบบปฏิบัติการลินุกซ์ กดปุ่มเพื่อทำงานในขั้นต่อไป กำหนดจำนวน VLAN ที่ต้องการแบ่งในเครือข่าย 41 4.1.3 กำหนดสมาชิกในแต่ละ VLAN โดยการเลือกที่ Check Box ของ Network Interface Card ภาพที่ 4-4 หน้าจอกำหนดสมาชิก VLAN ในโหมด Single Linux Box config VLAN กรณีเลือกการแบ่ง VLAN โดยใช้ Linux Box Connect Switch config VLAN 4.1.4 ในการเลือกใช้งานในโหมด Linux Box Connect Switch config VLAN ต้องมีการ กำหนด IP Address 2 ส่วนคือส่วนที่เป็น Subnetwork อยู่หลัง Switch และส่วนที่เป็น Subnetwork ที่อยู่หลังระบบปฏิบัติการลินุกซ์ ในหน้าแรกของการทำงานโหมดนี้จะทำการกำหนดส่วนที่เป็น Subnetwork ที่อยู่หลัง Switch โดยต้องกำหนดข้อมูล VID และ Gateways ให้ตรงกับที่ได้กำหนดไว้ ในแต่ละ Subnetwork ภาพที่ 4-5 หน้าจอการกำหนดข้อมูลของแต่ละ Subnetwork ที่อยู่หลัง Switch กำหนดสมาชิก VLAN กำหนด VID ในแต่ละSubnetwork ให้ตรงกับ ที่กำหนดในSwitch ใส่ GatewaysของSubnetwork ที่อยู่หลังSwitch 42 ภาพที่ 4-6 หน้าจอการกำหนดข้อมูลของแต่ละ Subnetwork ที่อยู่หลังระบบปฏิบัติการลินุกซ์ 4.1.5 หลังการกำหนดข้อมูล Subnetwork ในส่วนที่อยู่หลัง Switch ในหน้าต่อมาของการใช้ งานโปรแกรมจะให้ใส่ข้อมูลของ Subnetwork ที่อยู่หลังระบบปฏิบัติการลินุกซ์โดยจะเลือก Network Interface Card ในการเชื่อมต่อกับ Switch โดยจะCard ที่เหลือในการกำหนด VLAN โดย ที่กำหนด ให้ Subnetwork หลังระบบปฏิบัติการลินุกซ์ที่สามารถส่งข้อมูลไปยัง Subnetwork อยู่หลัง Switch โดยให้มี VID ตรงกัน 4.1.6 หลังจากที่ทำการกำหนดข้อมูลในโปรแกรม VLAN Emulator เสร็จสิ้น ให้ทำการเปิด Terminal ของระบบปฏิบัติการลินุกซ์ แล้วพิมพ์ Command เพื่อรัน Shell Script ดังนี้ #sh /var/www/html/vlanemulator/vlan.sh ถ้าไม่มีผลแจ้งว่า Command ผิดก็สามารถใช้งานการจำลอง VLANได้ทันที เลือกVID ตามที่เลือกให้เป็น สมาชิกเดียวกับVLAN ที่อยู่ หลัง Switch Check เมื่อใช้ eth1ติดต่อกับSwitch Check เมื่อใช้ eth0 ติดต่อกับSwitch Check เมื่อใช้eth0ติดต่อกับอินเตอร์เน็ต กำหนดค่า IP Address ของ Subnetwork ให้ตรงกับที่กำหนดในระบบปฏิบัติการลินุกซ์ 43 4.2 ทดสอบโปรแกรมที่พัฒนาขึ้น ในกระบวนการทดสอบโปรแกรมจำลอง VLAN บนระบบปฏิบัติการลินุกซ์ผู้พัฒนาระบบ ได้ใช้วิธีการทดสอบโปรแกรมด้วยวิธีการทดสอบ 2 แบบ ได้ผลการทดสอบซึ่งได้อธิบายดังนี้ 4.2.1 ทดสอบโดยกำหนด VLAN ในระบบเครือข่ายขนาดเล็กที่จัดทำขึ้น ข้อกำหนดในการทดสอบ 1. เครื่องข่ายที่กำหนดขึ้นประกอบด้วยคอมพิวเตอร์จำนวน 4 เครื่อง มี 1 เครื่องติดตั้ง ระบบปฏิบัติการลินุกซ์ใช้ในการติดตั้งโปรแกรมจำลอง VLAN โดยที่มี Network Interface Card 3 แผง และอีก 3 เครื่องติดตั้งระบบปฏิบัติการ Windows XP Professional 2. ในเครื่องคอมพิวเตอร์ที่ติดตั้งระบบปฏิบัติการลินุกซ์ให้กำหนด IP Address ในแต่ ละ Network Interface Card ดังนี้ Network Interface Card ที่ 1 eth0 IP Address 192.168.2.1 Mask 255.255.255.0 Network Interface Card ที่ 2 eth1 IP Address 192.168.3.1 Mask 255.255.255.0 Network Interface Card ที่ 3 eth2 IP Address 192.168.4.1 Mask 255.255.255.0 3. ในเครื่องคอมพิวเตอร์ที่ติดตั้งระบบปฏิบัติการ Windows XP Professional ให้ กำหนด IP Address และ Gateway ดังนี้ เครื่องที่ 1 IP Address 192.168.2.2 Gateway 192.168.2.1 Mask 255.255.255.0 เครื่องที่ 2 IP Address 192.168.3.2 Gateway 192.168.3.1 Mask 255.255.255.0 เครื่องที่ 3 IP Address 192.168.4.2 Gateway 192.168.4.1 Mask 255.255.255.0 4. จัดทำเครือข่ายขนาดเล็กโดยใช้สายสัญญาณเชื่อมต่อจากเครื่องที่ 1ไปยัง Network Interface Card ที่ 1 ของระบบปฏิบัติการลินุกซ์ และเครื่องที่ 2 และ3 ก็เชื่อมต่อที่ Network Interface Card ที่ 2และ 3 ตามลำดับ 5. กำหนด VLAN ในเครือข่ายโดยโปรแกรมให้เครื่องที่ 1และ 2 อยู่ใน VLANที่1 เดียวกันและเครื่องที่ 3 อยู่ใน VLAN ที่ 2 44 ระบบปฏิบัติการลินุกซ์ ใช้กำหนด VLAN IP Address 192.168.2.2 Gateway 192.168.2.1 Mask 255.255.255.0 IP Address 192.168.4.2 Gateway 192.168.4.1 Mask 255.255.255.0 IP Address 192.168.3.2 Gateway 192.168.3.1 Mask 255.255.255.0 เครื่องที่1 เครื่องที่3 เครื่องที่2 eth0 192.168.2.1 eth2 192.168.4.1 eth1 192.168.3.1 ccc ภาพที่ 4-7 ระบบเครือข่ายขนาดเล็กที่ใช้ในการทดสอบโปรแกรม ตารางที่ 4-1 ผลการทดสอบการส่งข้อมูลของ VLAN ในระบบเครือข่ายขนาดเล็กที่จัดทำขึ้น วิธีในการทดสอบส่งข้อมูลในเครือข่าย ผลการทดสอบ เครื่องที่ 1 ping หาเครื่องที่ 2 ทำได้ เครื่องที่ 2 ping หาเครื่องที่ 1 ทำได้ เครื่องที่ 1 ping หาเครื่องที่ 3 ทำไม่ได้ เครื่องที่ 3 ping หาเครื่องที่ 1 ทำไม่ได้ เครื่องที่ 2 ping หาเครื่องที่ 3 ทำไม่ได้ เครื่องที่ 3 ping หาเครื่องที่ 2 ทำไม่ได้ เครื่องที่ 1 ส่ง file ไปให้เครื่องที่ 3 ทำไม่ได้ เครื่องที่ 1 ส่ง file ไปให้เครื่องที่ 2 ทำได้ เครื่องที่ 2 ส่ง file ไปให้เครื่องที่ 3 ทำไม่ได้ เครื่องที่ 2 ส่ง file ไปให้เครื่องที่ 1 ทำได้ เครื่องที่ 3 ส่ง file ไปให้เครื่องที่ 1 ทำไม่ได้ เครื่องที่ 3 ส่ง file ไปให้เครื่องที่ 2 ทำไม่ได้ VLANที่ 1 VLAN ที่ 1 45 4.2.2 ทดสอบโดยกำหนด VLAN ในระบบเครือข่ายที่จัดทำขึ้นและทำการติดต่อผ่าน Switch ที่ใช้ในระบบเครือข่ายจริง ข้อกำหนดในการทดสอบ 1. เครื่องข่ายที่กำหนดขึ้นประกอบด้วยคอมพิวเตอร์จำนวน 5 เครื่อง มี 1 เครื่องติดตั้ง ระบบปฏิบัติการลินุกซ์ใช้ในการติดตั้งโปรแกรมจำลอง VLAN โดยที่มี Network Interface Card 3 แผง และอีก 4 เครื่องติดตั้งระบบปฏิบัติการ Windows XP Professional และ Switch 1 เครื่อง 2. ในเครื่องคอมพิวเตอร์ที่ติดตั้งระบบปฏิบัติการลินุกซ์ให้กำหนด IP Address ในแต่ ละ Network Interface Card ดังนี้ Network Interface Card ที่ 1 eth0 IP Address 192.168.1.1 Mask 255.255.255.0 Network Interface Card ที่ 2 eth1 IP Address 192.168.4.1 Mask 255.255.255.0 Network Interface Card ที่ 3 eth2 IP Address 192.168.5.1 Mask 255.255.255.0 3. ในเครื่องคอมพิวเตอร์ที่ติดตั้งระบบปฏิบัติการ Windows XP Professional ให้ กำหนด IP Address และ Gateway ดังนี้ เครื่องที่ติดต่ออยู่กับ Switch เครื่องที่ 1 IP Address 192.168.2.2 Gateway 192.168.2.1 Mask 255.255.255.0 เครื่องที่ 2 IP Address 192.168.3.2 Gateway 192.168.3.1 Mask 255.255.255.0 เครื่องที่ติดต่อกับระบบปฏิบัติการลินุกซ์ เครื่องที่ 3 IP Address 192.168.4.2 Gateway 192.168.4.1 Mask 255.255.255.0 เครื่องที่ 4 IP Address 192.168.5.2 Gateway 192.168.5.1 Mask 255.255.255.0 4. จัดทำเครือข่ายโดยใช้สายสัญญาณเชื่อมต่อกับ Switch ที่กำหนดเป็น trunk port ไปยัง Network Interface Card ที่ 1 ของระบบปฏิบัติการลินุกซ์ และเครื่องที่ 3 และ4 ก็เชื่อมต่อไป ยัง Network Interface Card ที่ 2 และ 3 ตามลำดับ ในส่วนของเครื่องที่ 1และ 2 จะใช้สายสัญญาณ เชื่อมต่อกับ Switch ที่ port 2 และ 3 ตามลำดับ 5. กำหนดค่าที่ Switch ให้ port ที่ 2 และ 3 เป็น VLAN โดนมีค่า VID เท่ากับ 2 และ 3 ตามลำดับ 6. กำหนด VLAN ในเครือข่ายด้วยโปรแกรมโดยให้เครื่องที่ 3 อยู่ใน VLAN ที่ 2 และเครื่องที่ 4 อยู่ใน VLAN ที่ 3 46 ภาพที่ 4-8 ระบบเครือข่ายขนาดเล็กที่ทำการติดต่อกับ Switch ที่ใช้ในการทดสอบโปรแกรม ตารางที่ 4-2 ผลการทดสอบการส่งข้อมูลของ VLAN ในระบบเครือข่ายที่จัดทำขึ้นและทำการ ติดต่อผ่าน Switch ที่ใช้ในระบบเครือข่ายจริง วิธีในการทดสอบส่งข้อมูลในเครือข่าย ผลการทดสอบ เครื่องที่ 1 ping หาเครื่องที่ 2 ทำไม่ได้ เครื่องที่ 1 ping หาเครื่องที่ 3 ทำได้ เครื่องที่ 1 ping หาเครื่องที่ 4 ทำไม่ได้ เครื่องที่ 2 ping หาเครื่องที่ 1 ทำไม่ได้ เครื่องที่ 2 ping หาเครื่องที่ 3 ทำไม่ได้ เครื่องที่ 2 ping หาเครื่องที่ 4 ทำได้ เครื่องที่ 3 ping หาเครื่องที่ 1 ทำได้ VLAN ที่ 2 VLAN ที่ 1 47 ตารางที่ 4-2 ผลการทดสอบการส่งข้อมูลของ VLAN ในระบบเครือข่ายที่จัดทำขึ้นและทำการ ติดต่อผ่าน Switch ที่ใช้ในระบบเครือข่ายจริง (ต่อ) วิธีในการทดสอบส่งข้อมูลในเครือข่าย ผลการทดสอบ เครื่องที่ 3 ping หาเครื่องที่ 2 ทำไม่ได้ เครื่องที่ 3 ping หาเครื่องที่ 4 ทำไม่ได้ เครื่องที่ 4 ping หาเครื่องที่ 1 ทำไม่ได้ เครื่องที่ 4 ping หาเครื่องที่ 2 ทำได้ เครื่องที่ 4 ping หาเครื่องที่ 3 ทำไม่ได้ เครื่องที่ 1 ส่ง file ไปให้เครื่องที่ 2 ทำไม่ได้ เครื่องที่ 1 ส่ง file ไปให้เครื่องที่ 3 ทำได้ เครื่องที่ 1 ส่ง file ไปให้เครื่องที่ 4 ทำไม่ได้ เครื่องที่ 2 ส่ง file ไปให้เครื่องที่ 1 ทำไม่ได้ เครื่องที่ 2 ส่ง file ไปให้เครื่องที่ 3 ทำไม่ได้ เครื่องที่ 2 ส่ง file ไปให้เครื่องที่ 4 ทำได้ เครื่องที่ 3 ส่ง file ไปให้เครื่องที่ 1 ทำได้ เครื่องที่ 3 ส่ง file ไปให้เครื่องที่ 2 ทำไม่ได้ เครื่องที่ 3 ส่ง file ไปให้เครื่องที่ 4 ทำไม่ได้ เครื่องที่ 4 ส่ง file ไปให้เครื่องที่ 1 ทำไม่ได้ เครื่องที่ 4 ส่ง file ไปให้เครื่องที่ 2 ทำได้ เครื่องที่ 4 ส่ง file ไปให้เครื่องที่ 3 ทำไม่ได้ 4.3 ผลการประเมินโปรแกรม 4.3.1 การทดสอบโปรแกรมโดยผู้เชี่ยวชาญ เป็นการทดสอบโปรแกรมโดยผู้เชี่ยวชาญจำนวน 3 คน ซึ่งในการประเมินผลการทดสอบ ของผู้เชี่ยวชาญจะมีแบบประเมินเกี่ยวกับความสามารถของโปรแกรมที่พัฒนาขึ้น มีผลการประเมิน เป็นดังนี้ 48 ตารางที่ 4-3 แสดงการหาระดับประสิทธิภาพด้าน Functional Requirement Test ของผู้เชี่ยวชาญ รายการประเมิน SD t-test* ระดับ ประสิทธิภาพ 1. ความสามารถในการดึงดูดความสนใจ ในการใช้งาน 4.667 0.577 3.500 ดีมาก 2. รูปแบบฟอร์มการใส่ข้อมูลแต่ละ ขั้นตอนง่ายขึ้น 4.333 0.577 2.500 ดี 3. ความสามารถการกำหนดข้อมูล 3.677 0.577 .500 ดี 4. ความสามารถในการแก้ไขข้อมูล 4.333 0.577 2.500 ดี 5. ความสามารถในการนำเสนอขั้นตอน การทำงานแต่ละขั้น 4.333 0.577 2.500 ดี ค่าคะแนนเฉลี่ยรวม 4.270 0.593 2.244 ดี ผลการวิเคราะห์ข้อมูลทางสถิติด้านด้าน Functional Requirement Test มัชฌิมเลขคณิต (Mean : X) = 4.270 ส่วนเบี่ยงเบนมาตรฐาน (SD) = .593 ค่าความเบ้ (Skewness) = -0.091 ค่าที่ได้จาตาราง t(ตาราง) = . 2.290 เมื่อ . = 3.5 จะได้ t (คำนวณ) = 2.244 ซึ่งน้อยกว่า t(ตาราง) ดังนั้น ยอมรับ H0 หมายเหตุ * แสดงถึงการยอมรับสมมติฐานอย่างมีนัยสำคัญในระดับความเชื่อมั่น 95 % จากตารางที่ 4-3 พบว่าประสิทธิภาพของโปรแกรมในด้านความสามารถของโปรแกรม มี ค่าเฉลี่ยอยู่ระหว่างค่า3.667 ถึง 4.677 ซึ่งแสดงว่าประสิทธิภาพการใช้งานอยู่ในระดับดี โดยที่ ประสิทธิภาพโปรแกรมด้านความสามารถในการดึงดูดความสนใจในการใช้งาน มีค่าเฉลี่ยสูงสุด เท่ากับ 4.67 ส่วนประสิทธิภาพด้านความสามารถการกำหนดข้อมูลมีค่าเฉลี่ยน้อยที่สุดเท่ากับ 3.67 โดยส่วนเบี่ยงเบนมาตรฐานในแต่ละด้านต่างๆ มีค่าเท่ากัน โดยเท่ากับ 0.577 อธิบายได้ว่าการ กระจายการให้คะแนนมีความแตกต่างกันในระดับกลาง และเมื่อพิจารณาสรุปผลการประเมินระบบ ด้าน Functional Requirement Test พบว่ามีค่าเฉลี่ยเท่ากับ 4.270 อธิบายได้ว่าโปรแกรมได้รับการ ยอมรับว่ามีความถูกต้องและมีประสิทธิภาพตรงตามความต้องการของผู้ใช้ในระดับดีจากการ เปิด ตารางแจกแจงแบบที ที่ระดับนัยสำคัญ .05 และ df = 2 ค่า t จากตารางเท่ากับ . 2.290พบว่าค่า t ที่ คำนวณได้น้อยกว่า จึงอยู่ในเขตยอมรับ H0 ดังนั้นจึงสรุปได้ว่าประสิทธิภาพของโปรแกรมในด้าน ความสามารถของโปรแกรม มีค่าระดับประสิทธิภาพอยู่ในระดับพอใช้ x 49 ตารางที่ 4-4 แสดงการหาระดับประสิทธิภาพด้าน Functional Test ของผู้เชี่ยวชาญ รายการประเมิน SD t-test* ระดับ ประสิทธิภาพ 1. ความถูกต้องในการทำงานของ โปรแกรม 3.667 0.577 .500 ดี 2. ความสามารถการกำหนดข้อมูลใน ฟอร์ม 4.333 0.577 2.500 ดี 3. ความสามารถของระบบเตือนเพื่อแสดง ความผิดพลาดในการใช้งาน 3.667 0.577 .500 ดี 4. ความสามารถทำงานของระบบ VLAN ที่ได้จากการกำหนดโดยโปรแกรมมีความ เหมาะสม 4.000 1.000 .866 ดี ค่าคะแนนเฉลี่ยรวม 3.916 0.577 1.249 ดี ผลการวิเคราะห์ข้อมูลทางสถิติด้านด้าน Functional Test มัชฌิมเลขคณิต (Mean : X) = 3.833 ส่วนเบี่ยงเบนมาตรฐาน (SD) = .577 ค่าความเบ้ (Skewness) = -0.63 ค่าที่ได้จาตาราง t(ตาราง) = . 2.290 เมื่อ . = 3.5 จะได้ t (คำนวณ) = 1.249 ซึ่งน้อยกว่า t(ตาราง) ดังนั้น ยอมรับ H0 หมายเหตุ * แสดงถึงการยอมรับสมมติฐานอย่างมีนัยสำคัญในระดับความเชื่อมั่น 95 % จากตารางที่ 4-4 พบว่าประสิทธิภาพของโปรแกรมในด้านการทำงานของระบบโปรแกรม มี ค่าเฉลี่ยอยู่ระหว่างค่า3.667 ถึง 4.333 ซึ่งแสดงว่าประสิทธิภาพการใช้งานอยู่ในระดับดี โดยที่ ประสิทธิภาพโปรแกรมความสามารถการกำหนดข้อมูลในฟอร์มมีค่าเฉลี่ยสูงสุดเท่ากับ 4.333 ส่วน ประสิทธิภาพความถูกต้องในการทำงานของโปรแกรมและความสามารถของระบบเตือนเพื่อแสดง ความผิดพลาดในการใช้งานมีค่าเฉลี่ยน้อยที่สุดเท่ากับ 3.667 โดยส่วนเบี่ยงเบนมาตรฐานในแต่ละ ด้านต่างๆ มีค่าเท่ากัน โดยเท่ากับ 0.577 โดยมีด้านความสามารถทำงานของระบบ VLAN ที่ได้จาก การกำหนดโดยโปรแกรมมีความเหมาะสมมีค่าเท่ากับ1.000อธิบายได้ว่าการกระจายการให้คะแนน มีความแตกต่างกันมาก และเมื่อพิจารณาสรุปผลการประเมินระบบด้าน Functional Test พบว่ามี ค่าเฉลี่ยเท่ากับ 3.916 อธิบายได้ว่าโปรแกรมได้รับการยอมรับว่าระบบมีความถูกต้องในการทำงาน ในระดับดีจากการ เปิดตารางแจกแจงแบบที ที่ระดับนัยสำคัญ .05 และ df = 2 ค่า t จากตารางเท่ากับ x 50 2.290พบว่าค่า t ที่คำนวณได้น้อยกว่า จึงอยู่ในเขตยอมรับ H0 ดังนั้นจึงสรุปได้ว่าประสิทธิภาพของ โปรแกรมในด้านความสามารถของโปรแกรม มีค่าระดับประสิทธิภาพอยู่ในระดับพอใช้ ตารางที่ 4-5 แสดงการหาระดับประสิทธิภาพด้าน Usability Test ของผู้เชี่ยวชาญ รายการประเมิน SD t-test* ระดับ ประสิทธิภาพ 1. ความชัดเจนของข้อความที่แสดงบน จอภาพ 4.667 0.577 3.500 ดีมาก 2. ความเหมาะสมของการใช้สีของ ตัวอักษร พื้นหลัง รูปภาพประกอบ 4.667 0.577 3.500 ดีมาก 3. ความเหมาะสมของตำแหน่งการจัดวาง ส่วนต่างๆ บนจอภาพ 4.333 0.577 2.500 ดี 4. ปุ่มสำหรับใช้งาน(Dropdown list, Radio Button) สามารถสื่อความหมายได้ ชัดเจน 4.667 0.577 3.500 ดีมาก 5. คำอธิบายในการใช้งานโปรแกรมแต่ละ ขั้นตอนมีความเหมาะสม 3.667 0.577 .500 ดี 6. ความรวดเร็วในการประมวลผล 4.667 0.577 3.500 ดีมาก 7. การใช้งานง่าย 3.667 0.577 0.500 ดี ค่าคะแนนเฉลี่ยรวม 4.334 0.593 2.436 ดี ผลการวิเคราะห์ข้อมูลทางสถิติด้านด้าน Usability Test มัชฌิมเลขคณิต (Mean : X) = 4.238 ส่วนเบี่ยงเบนมาตรฐาน (SD) = .768 ค่าความเบ้ (Skewness) = -0.453 ค่าที่ได้จาตาราง t(ตาราง) = . 2.290 เมื่อ . = 3.5 จะได้ t (คำนวณ) = 2.436 ซึ่งมากกว่า t(ตาราง) ดังนั้น ยอมรับ H1 หมายเหตุ * แสดงถึงการยอมรับสมมติฐานอย่างมีนัยสำคัญในระดับความเชื่อมั่น 95 % จากตารางที่ 4-5 พบว่าประสิทธิภาพของโปรแกรมในด้านความสะดวกต่อการใช้งานของ โปรแกรม มีค่าเฉลี่ยอยู่ระหว่างค่า3.667 ถึง 4.667 ซึ่งแสดงว่าประสิทธิภาพการใช้งานอยู่ในระดับดี โดยที่ประสิทธิภาพโปรแกรมความชัดเจนของข้อความที่แสดงบนจอภาพ ความเหมาะสมของการ x 51 ใช้สีของตัวอักษร พื้นหลัง รูปภาพประกอบ ,ปุ่มสำหรับใช้งาน(Dropdown list, Radio Button) สามารถสื่อความหมายได้ชัดเจนและความรวดเร็วในการประมวลผลมีค่าเฉลี่ยสูงสุดเท่ากับ 4.667 ส่วนประสิทธิภาพคำอธิบายในการใช้งานโปรแกรมแต่ละขั้นตอนมีความเหมาะสมมีค่าเฉลี่ยน้อย ที่สุดเท่ากับ 3.667 โดยส่วนเบี่ยงเบนมาตรฐานในแต่ละด้านต่างๆ มีค่าเท่ากัน โดยเท่ากับ 0.577 โดย อธิบายได้ว่าการกระจายการให้คะแนนในระดับปานกลาง และเมื่อพิจารณาสรุปผลการ ประเมินระบบด้าน Usability Test พบว่ามีค่าเฉลี่ยเท่ากับ 4.334 อธิบายได้ว่าโปรแกรมได้รับการ ยอมรับว่ามีมีความสะดวกในการใช้งานในระดับดีจากการ เปิดตารางแจกแจงแบบที ที่ระดับ นัยสำคัญ .05 และ df = 2 ค่า t จากตารางเท่ากับ . 2.290พบว่าค่า t ที่คำนวณได้มากกว่า จึงอยู่ใน เขตปฎิเสธ H0 ดังนั้นจึงสรุปได้ว่าประสิทธิภาพของโปรแกรมในด้านความสามารถของโปรแกรม มีค่าระดับประสิทธิภาพอยู่ในระดับดี 4.3.2 การทดสอบโดยผู้ใช้ทั่วไป เป็นการทดสอบระบบโดยผู้ใช้ทั่วไปจำนวน 15 คน ซึ่งมีความรู้ทางด้าน Network เบื้องต้น และในการประเมินผลการทดสอบของผู้ใช้ทั่วไปจะใช้แบบประเมินชุดเดียวกับผู้เชี่ยวชาญแต่ กำหนดให้มีสถานการในการใช้งานโดยทดลองใช้งานโปรแกรมเพียงอย่างเดียวโดยมีผลการ ประเมินเป็นดังนี้ ตารางที่ 4-6 แสดงการหาระดับประสิทธิภาพด้าน Functional Requirement Test ของผู้ใช้ทั่วไป รายการประเมิน SD t-test* ระดับ ประสิทธิภาพ 1. ความสามารถในการดึงดูดความสนใจ ในการใช้งาน 4.267 0.704 4.219 ดี 2. รูปแบบฟอร์มการใส่ข้อมูลแต่ละ ขั้นตอนง่ายขึ้น 3.933 0.704 2.385 ดี 3. ความสามารถการกำหนดข้อมูล 3.733 0.594 1.522 ดี 4. ความสามารถในการแก้ไขข้อมูล 3.933 0.704 2.385 ดี 5. ความสามารถในการนำเสนอขั้นตอน การทำงานแต่ละขั้น 4.133 0.704 3.300 ดี ค่าคะแนนเฉลี่ยรวม 4.000 0.697 2.778 ดี x 52 ตารางที่ 4-6 แสดงการหาระดับประสิทธิภาพด้าน Functional Requirement Test ของผู้ใช้ทั่วไป (ต่อ) ผลการวิเคราะห์ข้อมูลทางสถิติด้านด้าน Functional Requirement Test มัชฌิมเลขคณิต (Mean : X) = 4.000 ส่วนเบี่ยงเบนมาตรฐาน (SD) = .697 ค่าความเบ้ (Skewness) = 0.000 ค่าที่ได้จาตาราง t(ตาราง) = . 1.761 เมื่อ . = 3.5 จะได้ t (คำนวณ) = 2.778 ซึ่งมากกว่า t(ตาราง) ดังนั้น ยอมรับ H1 หมายเหตุ * แสดงถึงการยอมรับสมมติฐานอย่างมีนัยสำคัญในระดับความเชื่อมั่น 95 % จากตารางที่ 4-6 พบว่าประสิทธิภาพของโปรแกรมในด้านความสามารถของโปรแกรม มี ค่าเฉลี่ยอยู่ระหว่างค่า3.733 ถึง 4.267 ซึ่งแสดงว่าประสิทธิภาพการใช้งานอยู่ในระดับดี โดยที่ ประสิทธิภาพโปรแกรมด้านความสามารถในการดึงดูดความสนใจในการใช้งาน มีค่าเฉลี่ยสูงสุด เท่ากับ 4.267 ส่วนประสิทธิภาพด้านความสามารถการกำหนดข้อมูลมีค่าเฉลี่ยน้อยที่สุดเท่ากับ 3.733โดยส่วนเบี่ยงเบนมาตรฐานในแต่ละด้านความสามารถการกำหนดข้อมูลโดยเท่ากับ 0.594 อธิบายได้ว่าการกระจายการให้คะแนนมีความแตกต่างกันปานกลาง แต่ด้านอื่นๆมีค่าส่วนเบี่ยงเบน มาตรฐานเท่ากับ0.704 การกระจายการให้คะแนนมีความแตกต่างมากกัน และเมื่อพิจารณาสรุปผล การประเมินระบบด้าน Functional Requirement Test พบว่ามีค่าเฉลี่ยเท่ากับ 4.000 อธิบายได้ว่า โปรแกรมได้รับการยอมรับว่ามีความถูกต้องและมีประสิทธิภาพตรงตามความต้องการของผู้ใช้ใน ระดับดีจากการ เปิดตารางแจกแจงแบบที ที่ระดับนัยสำคัญ .05 และ df = 14 ค่า t จากตารางเท่ากับ . 1.761พบว่าค่า t ที่คำนวณได้มากกว่า จึงอยู่ในเขตปฎิเสธ H0 ดังนั้นจึงสรุปได้ว่าประสิทธิภาพ ของโปรแกรมในด้านความสามารถของโปรแกรม มีค่าระดับประสิทธิภาพอยู่ในระดับดี ตารางที่ 4-7 แสดงการหาระดับประสิทธิภาพด้าน Functional Test ของผู้ใช้งานทั่วไป รายการประเมิน SD t-test* ระดับ ประสิทธิภาพ 1. ความถูกต้องในการทำงานของ โปรแกรม 3.800 0.561 2.073 ดี 2. ความสามารถการกำหนดข้อมูลใน ฟอร์ม 4.000 0.756 2.562 ดี x 53 ตารางที่ 4-7 แสดงการหาระดับประสิทธิภาพด้าน Functional Test ของผู้ใช้งานทั่วไป (ต่อ) 3. ความสามารถของระบบเตือนเพื่อแสดง ความผิดพลาดในการใช้งาน 3.667 0.617 1.046 ดี 4. ความสามารถทำงานของระบบVLAN ที่ได้จากการกำหนดโดยโปรแกรมมีความ เหมาะสม 3.800 0.775 1.500 ดี ค่าคะแนนเฉลี่ยรวม 4.000 0.697 2.778 ดี ผลการวิเคราะห์ข้อมูลทางสถิติด้านด้าน Functional Test มัชฌิมเลขคณิต (Mean : X) = 3.817 ส่วนเบี่ยงเบนมาตรฐาน (SD) =0 .676 ค่าความเบ้ (Skewness) = 0 .239 ค่าที่ได้จาตาราง t(ตาราง) = . 1.761 เมื่อ . = 3.5 จะได้ t (คำนวณ) = 1.811 ซึ่งมากกว่า t(ตาราง) ดังนั้น ยอมรับ H1 หมายเหตุ * แสดงถึงการยอมรับสมมติฐานอย่างมีนัยสำคัญในระดับความเชื่อมั่น 95 % จากตารางที่ 4-7 พบว่าประสิทธิภาพของโปรแกรมในด้านการทำงานของระบบโปรแกรม มี ค่าเฉลี่ยอยู่ระหว่างค่า3.667 ถึง 4.000 ซึ่งแสดงว่าประสิทธิภาพการใช้งานอยู่ในระดับดี โดยที่ ประสิทธิภาพโปรแกรมความสามารถการกำหนดข้อมูลในฟอร์มมีค่าเฉลี่ยสูงสุดเท่ากับ 4.000 ส่วน ประสิทธิภาพความถูกต้องในการทำงานของโปรแกรมและความสามารถของระบบเตือนเพื่อแสดง ความผิดพลาดในการใช้งานมีค่าเฉลี่ยน้อยที่สุดเท่ากับ 3.667 โดยส่วนเบี่ยงเบนมาตรฐานในด้าน ความถูกต้องในการทำงานของโปรแกรมโดยเท่ากับ 0.561 อธิบายได้ว่าการกระจายการให้คะแนน มีความแตกต่างกันปานกลาง โดยมีด้านความสามารถทำงานของระบบ VLAN ที่ได้จากการกำหนด โดยโปรแกรมมีความเหมาะสมมีค่าเท่ากับ0.775 อธิบายได้ว่าการกระจายการให้คะแนนมีความ แตกต่างกันมาก และเมื่อพิจารณาสรุปผลการประเมินระบบด้าน Functional Test พบว่ามีค่าเฉลี่ย เท่ากับ 3.817 อธิบายได้ว่าโปรแกรมได้รับการยอมรับว่าระบบมีความถูกต้องในการทำงานในระดับ ดีจากการ เปิดตารางแจกแจงแบบที ที่ระดับนัยสำคัญ .05 และ df = 14 ค่า t จากตารางเท่ากับ . 1.761พบว่าค่า t ที่คำนวณได้มากกว่า จึงอยู่ในเขตปฎิเสธ H0 ดังนั้นจึงสรุปได้ว่าประสิทธิภาพ ของโปรแกรมในด้านความสามารถของโปรแกรม มีค่าระดับประสิทธิภาพอยู่ในระดับดี 54 ตารางที่ 4-8 แสดงการหาระดับประสิทธิภาพด้าน Usability Test ของผู้ใช้งานทั่วไป รายการประเมิน SD t-test* ระดับ ประสิทธิภาพ 1. ความชัดเจนของข้อความที่แสดงบน จอภาพ 4.133 0.743 3.300 ดี 2. ความเหมาะสมของการใช้สีของ ตัวอักษร พื้นหลัง รูปภาพประกอบ 4.133 0.743 3.300 ดี 3. ความเหมาะสมของตำแหน่งการจัดวาง ส่วนต่างๆ บนจอภาพ 4.067 0.798 2.747 ดี 4. ปุ่มสำหรับใช้งาน(Dropdown list, Radio Button) สามารถสื่อความหมายได้ ชัดเจน 4.333 0.723 4.459 ดี 5. คำอธิบายในการใช้งานโปรแกรมแต่ละ ขั้นตอนมีความเหมาะสม 3.667 0.723 0.892 ดี 6. ความรวดเร็วในการประมวลผล 4.267 0.704 4.219 ดี 7. การใช้งานง่าย 3.800 0.561 2.073 ดี ค่าคะแนนเฉลี่ยรวม 4.057 0.738 2.916 ดี ผลการวิเคราะห์ข้อมูลทางสถิติด้านด้าน Usability Test มัชฌิมเลขคณิต (Mean : X) = 4.057 ส่วนเบี่ยงเบนมาตรฐาน (SD) = .738 ค่าความเบ้ (Skewness) = -.185 ค่าที่ได้จาตาราง t(ตาราง) = . 1.761 เมื่อ . = 3.5 จะได้ t (คำนวณ) = 2.916 ซึ่งมากกว่า t(ตาราง) ดังนั้น ยอมรับ H1 หมายเหตุ * แสดงถึงการยอมรับสมมติฐานอย่างมีนัยสำคัญในระดับความเชื่อมั่น 95 % จากตารางที่ 4-8 พบว่าประสิทธิภาพของโปรแกรมในด้านความสะดวกต่อการใช้งานของ โปรแกรม มีค่าเฉลี่ยอยู่ระหว่างค่า3.667 ถึง 4.333 ซึ่งแสดงว่าประสิทธิภาพการใช้งานอยู่ในระดับดี โดยที่ด้านปุ่มสำหรับใช้งาน(Dropdown list, Radio Button) สามารถสื่อความหมายได้ชัดเจนมี ค่าเฉลี่ยสูงสุดเท่ากับ 4.333 ส่วนประสิทธิภาพคำอธิบายในการใช้งานโปรแกรมแต่ละขั้นตอนมี ความเหมาะสมมีค่าเฉลี่ยน้อยที่สุดเท่ากับ 3.667 โดยส่วนเบี่ยงเบนมาตรฐานในแต่ละด้านต่างๆ มี การกระจายการให้คะแนนมีความแตกต่างกันมากโดยเฉพาะในเรื่องความเหมาะสมของตำแหน่ง x 55 การจัดวางมีค่าสูงสุดเท่ากับ .798 และเมื่อพิจารณาสรุปผลการประเมินระบบด้าน Usability Test พบว่ามีค่าเฉลี่ยเท่ากับ 4.057 อธิบายได้ว่าโปรแกรมได้รับการยอมรับว่ามีมีความสะดวกในการใช้ งานในระดับดีจากการ เปิดตารางแจกแจงแบบที ที่ระดับนัยสำคัญ .05 และ df = 14 ค่า t จากตาราง เท่ากับ . 1.761พบว่าค่า t ที่คำนวณได้มากกว่า จึงอยู่ในเขตปฎิเสธ H0 ดังนั้นจึงสรุปได้ว่า ประสิทธิภาพของโปรแกรมในด้านความสามารถของโปรแกรม มีค่าระดับประสิทธิภาพอยู่ใน ระดับดี 4.3.3 การทดสอบโดยรวมทั้งผู้เชี่ยวชาญและผู้ใช้ทั่วไป เป็นการทดสอบโดยนำคะแนนการประเมินทั้งหมดจากผู้เชี่ยวชาญและผู้ใช้ทั่วไปมานำมา รวมกันเพื่อสรุปผลการประเมินทั้งหมดว่าโปรแกรมจะมีประสิทธิภาพอยู่ในระดับไหน ตารางที่ 4-9 แสดงผลสรุปการประเมินประสิทธิภาพระบบในทุกๆ ด้านของผู้ประเมินทั้งหมด ผู้เชี่ยวชาญ หัวข้อในการประเมินเกี่ยวกับความสามารถของระบบ SD t-test* ระดับ ประสิทธิ ภาพ 1. การประเมินระบบด้าน Functional Requirement Test 4.000 0.697 2.778 ดี 2. การประเมินระบบด้าน Functional Test 3.817 0.676 1.811 ดี 3. การประเมินระบบด้าน Usability Test 4.057 0.738 2.916 ดี ผลการวิเคราะห์ข้อมูลทางสถิติด้านความสามารถระบบในทุกๆ ด้านของผู้ประเมินทั้งหมด มัชฌิมเลขคณิต (Mean : X) = 4.000 ส่วนเบี่ยงเบนมาตรฐาน (SD) = 0.717 ค่าความเบ้ (Skewness) = -0.006 เมื่อ . = 3.5 จะได้ t (คำนวณ) = 2.703 ซึ่งมากกว่า t(ตาราง) ดังนั้น ยอมรับ H1 จากตารางที่ 4-9 สามารถสรุปได้ว่า 1. ผลการประเมินระบบด้าน Functional Requirement Test มีประสิทธิภาพอยู่ใน ระดับดี 2. ผลการประเมินระบบด้าน Functional Test มีประสิทธิภาพอยู่ในระดับดี 3. ผลการประเมินระบบด้าน Usability Test มีประสิทธิภาพอยู่ในระดับดี x 56 จากการ เปิดตารางแจกแจงแบบที ที่ระดับนัยสำคัญ .05 และ df = 14 ค่า t จากตารางเท่ากับ . 1.761พบว่าค่า t ที่คำนวณได้มากกว่า จึงอยู่ในเขตปฎิเสธ H0 ดังนั้นจึงสรุปได้ว่าประสิทธิภาพ ของโปรแกรมในด้านความสามารถของโปรแกรม มีค่าระดับประสิทธิภาพอยู่ในระดับดีและจากผล การวิเคราะห์ข้อมูลทางสถิติโดยรวม ทั้งในส่วนของผู้ใช้งานทั่วไปและส่วนของผู้เชี่ยวชาญ จากการ ประเมินโปรแกรม เป็นดังนี้ มัชฌิมเลขคณิต (Mean : X) = 4.042 ส่วนเบี่ยงเบนมาตรฐาน (SD) = 0.716 ค่าความเบ้ (Skewness) = -0.062 ทดสอบครั้งที่ 1 กำหนด . = 3.5 จะได้ t (คำนวณ) = 3.207 การเปิดตารางแจกแจงแบบที ที่ ระดับนัยสำคัญ .05 และ df = 17 ค่า t จากตารางเท่ากับ . 1.740พบว่าค่า t ที่คำนวณได้มากกว่า จึง ปฏิเสธ H0 ทดสอบครั้งที่ 2 กำหนด . = 4.5จะได้ t (คำนวณ) = -2.710 ซึ่งไม่มากกว่า t(ตาราง) ดังนั้น จึง ยอมรับ H0 ดังนั้นจึงสรุปได้ว่าประสิทธิภาพของโปรแกรมโดยรวมมีค่าระดับประสิทธิภาพอยู่ในระดับดี บทที่ 5 สรุปและข้อเสนอแนะ 5.1 สรุปผลการจัดทำสารนิพนธ์ VLAN (Virtual Local Area Network) เป็นเทคโนโลยีที่อยู่ในอุปกรณ์ Switch ใช้ในการ จำลองสร้างเครือข่าย LAN แต่ไม่ขึ้นอยู่กับการเชื่อมต่อทางกายภาพ VLAN เป็นการผสมผสาน ระหว่าง ฟังก์ชัน Bridge และ ฟังก์ชัน Routing เข้าด้วยกัน โดยที่ VLAN จะ Broadcast Data เฉพาะ VLAN เดียวกันทำให้ลดความคับคั่งของข้อมูลและเพิ่มความปลอดภัยให้กับเครือข่าย การพัฒนาโปรแกรมจำลอง VLAN บนระบบปฏิบัติการลินุกซ์จะช่วยสามารถจำลอง คุณสมบัติของ VLAN โดยที่จะใช้เทคนิคการทำงานของระบบปฏิบัติการลินุกซ์ในการทำหน้าที่ เป็น Gateway และใช้งาน802.1Q Module ที่สามารถทำให้ระบบปฏิบัติการลินุกซ์สามารถอ่าน Header ที่เป็นของ VLAN ได้และอาศัย Iptable Module ในการแยกแต่ละสมาชิกของแต่ละVLAN ให้ส่งข้อมูลหากันได้การใช้งานจะผ่านโปรแกรม VLAN Emulator ซึ่ง Web Appication ที่ทำงาน โดยการเขียน Bourne Shell Script ขึ้นมาเพื่อให้ผู้ใช้งาน Run Shell Script เพื่อเรียก Module การ ทำงานของ Iptable และ 802.1Q ในระบบปฏิบัติการลินุกซ์ในการจำลองคุณสมบัติของ VLAN ใน ระบบเครือข่าย จากผลการทดสอบทำงานของ VLAN Emulator ในจำลอง VLAN ระบบเครือข่าย สามารถ สรุปการทำงานของการจำลอง VLAN ได้ดังนี้ 1. คอมพิวเตอร์ที่อยู่ต่าง VLAN กันไม่สามารถที่จะส่งข้อมูลถึงกันได้ตรงตาม คุณสมบัติของ VLAN 2. การส่งข้อมูลไปยังคอมพิวเตอร์ปลายทางจะไม่มีการ Broadcast ไปยังที่ต่าง VLAN กันตรงตามคุณสมบัติของ VLAN 3. สามารถใช้งานโดยติดต่อกับอุปกรณ์ Switch ที่ใช้งานในระบบเครือข่ายจริงได้ 5.2 สรุปผลการประเมินหาประสิทธิภาพโปรแกรม เมื่อได้นำระบบที่พัฒนาขึ้นไปทดสอบเพื่อประเมินหาประสิทธิภาพของระบบ สามารถ สรุปผลการประเมินในแต่ละด้านโดยแบ่งเป็นการประเมินโดยผู้เชี่ยวชาญสรุปผลได้ดังนี้ 58 1. ผลการประเมินระบบด้าน Functional Requirement Test มีประสิทธิภาพอยู่ใน ระดับพอใช้ 2. ผลการประเมินระบบด้าน Functional Test มีประสิทธิภาพอยู่ในระดับพอใช้ 3. ผลการประเมินระบบด้าน Usability Test มีประสิทธิภาพอยู่ในระดับดี จากการจากคะแนนรวมในทุกหัวข้อโดยผู้เชี่ยวชาญสรุปได้ว่าประสิทธิภาพของโปรแกรมมี ค่าระดับประสิทธิภาพอยู่ในระดับพอใช้ แสดงสามารถสรุปการประเมินประสิทธิภาพระบบในทุกๆ ด้านของผู้ใช้งานทั่วไปได้ดังนี้ 1. ผลการประเมินระบบด้าน Functional Requirement Test มีประสิทธิภาพอยู่ใน ระดับดี 2. ผลการประเมินระบบด้าน Functional Test มีประสิทธิภาพอยู่ในระดับดี 3. ผลการประเมินระบบด้าน Usability Test มีประสิทธิภาพอยู่ในระดับดี จากการจากคะแนนรวมในทุกหัวข้อโดยผู้ใช้งานทั่วไปสรุปได้ว่าประสิทธิภาพของ โปรแกรมมีค่าระดับประสิทธิภาพอยู่ในระดับดี และจากผลการวิเคราะห์ข้อมูลทางสถิติโดยรวม ทั้ง ในส่วนของผู้ใช้งานทั่วไปและส่วนของผู้เชี่ยวชาญจากการประเมินโปรแกรม สามารถสรุปได้ว่า ประสิทธิภาพของโปรแกรมโดยรวมมีค่าระดับประสิทธิภาพอยู่ในระดับดี 5.3 ปัญหาที่พบในการทำสารนิพนธ์ 5.3.1 ข้อจำกัดของระบบปฏิบัติการลินุกซ์ 5.3.1.1 ระบบปฏิบัติการลินุกซ์สามารถใส่ Network Interface Card ได้สูงสุด 4 ใบ 5.3.1.2 ระบบปฏิบัติการลินุกซ์การใช้ Network Interface Card หลายใบไม่สามารถ กำหนด IP Address ที่มี Subnet เดียวกันได้ เพราะเมื่อใส่แล้วระบบปฏิบัติการจะไม่สามารถเลือกส่ง packet ไปได้ 5.3.1.3 ระบบปฏิบัติการลินุกซ์ไม่สามารถโหลด Module 802.1Q ตอน Boot เครื่องได้ จึงไม่สามารถกำหนดให้Run Shell Script ในการ Boot เครื่องได้ ดังนั้นการใช้งานการจำลอง VLAN จึงต้องทำการสั่ง Run Shell Script หลัง Boot เครื่องเสร็จเพื่อใช้งาน 5.3.2 ปัญหาในการกำหนดใช้งาน Webpage ในการกำหนด VLAN ยังไม่มีความปลอดภัยใน การใช้งานอาจทำให้ผู้อื่นมาทำการแก้ไข VLAN ที่กำหนดไว้ได้ 5.3.3 การใช้งานกำหนด VLAN ใน Webpage ยังไม่สามารถที่จะนำค่า IP Address ที่กำหนด ในระบบปฏิบัติการลินุกซ์แล้วเรียกมาใช้งานได้ 59 5.4 ข้อเสนอแนะ 5.4.1 ในการพัฒนาโปรแกรมจำลอง VLAN ยังไม่สามารถทำงานตามคุณสมบัติของ VLAN ได้อย่างครบถ้วน เพราะในสารนิพนธ์นี้เป็นการจำลองคุณสมบัติพื้นฐานที่ใช้ Module ที่มีใช้งานอยู่ แล้วมาใช้งานร่วมกันในการทำการจำลองVLAN 5.4.2 ควรมีการนำ Module 802.1Q มาแก้ไขให้สามารถทำงานได้ดียิ่งขึ้นโดยสามารถทำให้ ใช้งานได้ในการ Boot เครื่อง 5.4.3 ควรมีการเขียนโปรแกรมออกมารูปแบบของ X Windows ในระบบปฏิบัติการลินุกซ์ แทนการทำงานด้วย Webpage เพื่อเรียกข้อมูล IP Address ที่กำหนดแล้วมาใช้งานได้และเพิ่มความ ปลอดภัยในการกำหนด VLAN จ สารบัญ หน้า บทคัดย่อภาษาไทย ข บทคัดย่อภาษาอังกฤษ ค กิตติกรรมประกาศ ง สารบัญตาราง ช สารบัญภาพ ซ บทที่ 1. บทนำ 1 1.1 ความเป็นมาและความสำคัญของปัญหา 1 1.2 วัตถุประสงค์ 1 1.3 ขอบเขตของการวิจัย 2 1.4 วิธีการวิจัย 2 1.5 อุปกรณ์ที่ใช้ในงานวิจัย 3 1.6 ระยะเวลาในการดำเนินงาน 3 1.7 ประโยชน์ของผลการวิจัย 4 บทที่ 2. ทฤษฎีที่เกี่ยวข้อง 5 2.1 VLAN (Virtual Local Area Network) 5 2.2 IP Address 17 2.3 การแบ่งเครือข่ายย่อย (Subnetwork) 19 บทที่ 3. ขั้นตอนการดำเนินงาน 21 3.1 ขั้นตอนการออกแบบโปรแกรม 22 3.2 ขั้นตอนการพัฒนาโปรแกรม 33 3.3 ขั้นตอนการประเมินประสิทธิภาพของโปรแกรม 35 บทที่ 4. ผลการดำเนินงานและการประเมิน 39 4.1 ผลการพัฒนาโปรมแกรม 39 4.2 ทดสอบโปรแกรมที่พัฒนาขึ้น 43 4.3 ผลการประเมินโปรแกรม 47 บทที่ 5. สรุปผลและข้อเสนอแนะ 57 5.1 สรุปผลการจัดทำสารนิพนธ์ 57 5.2 สรุปผลการประเมินหาประสิทธิภาพโปรแกรม 57 ฉ สารบัญ (ต่อ) หน้า 5.3 ปัญหาที่พบในการทำสารนิพนธ์ 58 5.4 ข้อเสนอแนะ 59 บรรณานุกรม 60 ภาคผนวก ก 61 การติดตั้งโปรแกรม 62 ภาคผนวก ข 67 คู่มือการใช้งานโปรแกรม 68 ภาคผนวก ค 74 แบบประเมินผู้ใช้งาน 75 รายชื่อผู้เชี่ยวชาญ 79 ประวัติผู้วิจัย 80

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

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