กลับมาเข้าเรื่อง SDN กันอีกครั้ง ^^
คราวนี้เราจะมาทำความรุ้จักกับ Mininet กัน คำถามที่เกิดขึ้นแน่ๆในใจของหลายๆคนน่าจะมีดังต่อไปนี้
- Mininet คืออะไร?
- Mininet เอาไว้ทำอะไร?
- Mininet เกี่ยวกับ SDN ยังไง?
ขอสรุปกันแบบบ้านๆประมาณนี้ก็แล้วกันครับ
- Mininet คือ Network emulator ซึ่งจะทำการจำลองการสร้าง Switch, Host, Controller และ Link ที่ทำการเชื่อมโยงระหว่างอุปกรณ์ที่เราสร้างขึ้นมา โดย Host ที่ Mininet สร้างขึ้นมาจะเป็น Linux host ส่วน Switch ที่ Mininet สร้างขึ้นมาจะรองรับการใช้งาน OpenFlow ดังนั้นมันจึงสามารถรองรับการทำ Customize routing และ SDN ได้นั่นเอง
- Mininet มีจุดประสงค์ในการนำมาใช้งานในลักษณะต่างๆดังนี้ งานวิจัย การพัฒนา การใช้ประกอบการเรียนการสอน การทดสอบ นำมาใช้ในการ Debugging เพื่อทดสอบระบบ Network บน PC หรือ Laptop ที่เราใช้งาน โดย Mininet สามารถยกตัวอย่างการนำไปใช้งานในหัวข้อต่างๆได้ดังนี้
- ใช้ในการสร้าง Network ตัวอย่างเพื่อพัฒนาโปรแกรมกับ OpenFlow
- ทำ System-level regression test
- ทำการสร้าง Topology ที่มีความซับซ้อนสูงโดยไม่ต้องทำการ Wire สายเนื่องจาก Mininet ทำงานในลักษณะ Virtualizes
- Code ที่ทำการทดสอบบน Mininet เพื่อใชงานกับ OpenFlow สามารถนำไปใช้งานจริงได้โดยอาจจะมีการแก้ไขเพียงเล็กน้อยเท่านั้น นั่นหมายความว่าเมื่อใดก็ตามที่การทดสอบบน Mininet สามารถใช้งานได้ก็สามารถนำไปใช้งานกับ Hardware จริงได้เช่นเดียวกัน เพื่อทำการทดสอบในลักษณะของ Line-rate forwarding ต่อไปได้ทันที
- Mininet เกี่ยวกับ SDN โดย Mininet จะเป็นตัวสร้าง Network จำลองขึ้นมาเพื่อใช้ในการทดสอบ SDN application โดยข้อดีของ Mininet คือสามารถจำลองระบบ Network ขนาดใหญ่ขึ้นมาได้จาก Linux host หรือ VM guest เพียงเครื่องเดียว โดยสามารถทำการ Boot อุปกรณ์ขึ้นมาจำลองการทำงานได้ถึง 4096 อุปกรณ์ โดยมีทั้ง Host และ Switch ตั้งแต่ Version 2.2.26
Mininet สามารถทำงานร่วมกับ Controller ที่มีการใช้งาน OpenFlow ได้เป็นอย่างดี โดย Topology ที่สร้างขึ้นมาจาก Mininet สามารถทำการ Discovery ได้จาก SDN controller ทั้งในส่วนของ Host และ Switch สำหรับการใช้งาน Mininet ร่วมกับ Controller จะมีการนำเสนอในบทความส่วนต่อไปครับ
สำหรับรูป Topology ด้านล่างนี้เป็นตัวอย่าง Topology ที่สร้างจาก Mininet และทำการ Discovery บน OpenDayLight ครับ

สำหรับท่านที่ต้องการ Download Mininet มาเพื่อลองใช้งานสามารถไปที่ http://mininet.org/download/ เพื่อนำมาลองใช้งานได้ โดยมีให้เลือกใช้งานทั้งแบบ VM หรือจะทำการติดตั้งเองลงบน Linux host ก็ได้เช่นเดียวกันครับ
ความเห็นล่าสุด