The best way to emulate almost any network on your laptop!
MININET 2.3.1B4
MinInet จำลองเครือข่ายที่สมบูรณ์ของโฮสต์ลิงก์และสวิตช์บนเครื่องเดียว เพื่อสร้างตัวอย่างสองโฮสต์เครือข่ายหนึ่งสวิทช์เพียงแค่เรียกใช้:
sudo mn
MinInet มีประโยชน์สำหรับการพัฒนาแบบโต้ตอบการทดสอบและการสาธิตโดยเฉพาะผู้ที่ใช้ OpenFlow และ SDN ตัวควบคุมเครือข่ายที่ใช้ OpenFlow ต้นแบบใน MinInet มักจะถูกถ่ายโอนไปยังฮาร์ดแวร์ด้วยการเปลี่ยนแปลงขั้นต่ำสำหรับการดำเนินการในอัตราเต็มรูปแบบ
MinInet สร้างเครือข่ายเสมือนจริงโดยใช้การจำลองเสมือนตามกระบวนการและเนมสเปซเครือข่าย - คุณสมบัติที่มีอยู่ในเคอร์เนล Linux ล่าสุด ใน MinInet โฮสต์จะถูกจำลองเป็นกระบวนการ bash
ที่ทำงานในเนมสเปซเครือข่ายดังนั้นรหัสใด ๆ ที่ปกติจะทำงานบนเซิร์ฟเวอร์ Linux (เช่นเว็บเซิร์ฟเวอร์หรือโปรแกรมไคลเอนต์) ควรทำงานได้ดีภายใน "โฮสต์" มินิเน็ต "โฮสต์" MinInet จะมีอินเทอร์เฟซเครือข่ายส่วนตัวของตัวเองและสามารถดูกระบวนการของตัวเองเท่านั้น สวิตช์ใน MinInet เป็นสวิตช์ที่ใช้ซอฟต์แวร์เช่น Open Vswitch หรือสวิตช์อ้างอิง OpenFlow ลิงก์เป็นคู่อีเธอร์เน็ตเสมือนซึ่งอาศัยอยู่ในเคอร์เนล Linux และเชื่อมต่อสวิตช์ที่จำลองของเราเข้ากับโฮสต์ที่จำลอง (กระบวนการ)
Mininet รวมถึง:
ตัวเรียกใช้บรรทัดคำสั่ง ( mn
) เพื่อสร้างอินสแตนซ์เครือข่าย
Python API ที่มีประโยชน์สำหรับการสร้างเครือข่ายที่มีขนาดและทอพอโลยีที่แตกต่างกัน
ตัวอย่าง (ใน examples/
ไดเรกทอรี) เพื่อช่วยให้คุณเริ่มต้น
เอกสาร API เต็มรูปแบบผ่าน Python help()
เอกสารรวมถึงความสามารถในการสร้างเอกสาร PDF/HTML ด้วย make doc
ทอพอโลยี parametrized (subclasses Topo
) โดยใช้วัตถุ mininet ตัวอย่างเช่นเครือข่ายต้นไม้อาจถูกสร้างขึ้นด้วยคำสั่ง:
mn --topo tree,depth=2,fanout=3
อินเทอร์เฟซบรรทัดคำสั่ง (คลาส CLI
) ซึ่งให้คำสั่งการวินิจฉัยที่เป็นประโยชน์ (เช่น iperf
และ ping
) รวมถึงความสามารถในการเรียกใช้คำสั่งไปยังโหนด ตัวอย่างเช่น,
mininet> h11 ifconfig -a
บอกให้โฮสต์ H11 เรียกใช้คำสั่ง ifconfig -a
คำสั่ง "ล้างข้อมูล" เพื่อกำจัดขยะ (อินเทอร์เฟซกระบวนการไฟล์ใน /tmp ฯลฯ ) ซึ่งอาจถูกทิ้งไว้โดย mininet หรือ linux ลองสิ่งนี้ถ้าสิ่งต่างๆหยุดทำงาน!
mn -c
Mininet 2.3.1b4 supports Python 3 and Python 2
คุณสามารถติดตั้ง MinInet ทั้งสองรุ่น Python 3 และ Python 2 แต่การติดตั้งล่าสุดจะเป็นตัวกำหนดรุ่น Python ที่ใช้โดยค่าเริ่มต้นโดย mn
You can run mn
directly with Python 2 or Python 3, as long as the appropriate version of Mininet is installed, eg
$ sudo python2 `which mn`
ข้อมูลเพิ่มเติมเกี่ยวกับการสนับสนุน Python 3 และ Python 2 อาจพบได้ในหมายเหตุการเปิดตัวใน http://docs.mininet.org
สนับสนุน Ubuntu 22.04 LTS (และ 20.04)
การทดสอบที่เชื่อถือได้มากขึ้นและ CI ผ่านการกระทำของ GitHub
การสนับสนุนเบื้องต้นสำหรับ cgroups v2 (และ v1)
การแก้ไขข้อผิดพลาดเล็กน้อย (2.3.1)
ข้อมูลเพิ่มเติมเกี่ยวกับรุ่นนี้และรุ่นก่อนหน้านี้อาจพบได้ในหมายเหตุการเปิดตัวใน http://docs.mininet.org
ดู INSTALL
สำหรับคำแนะนำการติดตั้งและรายละเอียด
นอกเหนือจากเอกสาร API ( make doc
) ข้อมูลที่เป็นประโยชน์มากมายรวมถึงคำแนะนำแบบมินิเน็ตและการแนะนำเกี่ยวกับ Python API นั้นมีอยู่ในเว็บไซต์ MinInet นอกจากนี้ยังมีวิกิที่คุณได้รับการสนับสนุนให้อ่านและมีส่วนร่วมโดยเฉพาะคำถามที่พบบ่อย (คำถามที่พบบ่อย) ที่ http://faq.mininet.org
Mininet ได้รับการสนับสนุนจากชุมชน We encourage you to join the Mininet mailing list, mininet-discuss
at:
https://mailman.stanford.edu/mailman/listinfo/mininet-discuss
ขอขอบคุณอีกครั้งสำหรับผู้มีส่วนร่วมและผู้ใช้ MinInet ทั้งหมด!
MinInet เป็นโครงการโอเพ่นซอร์สและปัจจุบันโฮสต์ที่ https://github.com/mininet คุณได้รับการสนับสนุนให้ดาวน์โหลดตรวจสอบและแก้ไขรหัสและเพื่อส่งรายงานข้อผิดพลาดการแก้ไขข้อผิดพลาดคำขอคุณสมบัติคุณสมบัติใหม่และปัญหาอื่น ๆ และคำขอดึง ต้องขอบคุณทุกคนที่มีส่วนร่วมในโครงการ MinInet (ดูผู้มีส่วนร่วมสำหรับข้อมูลเพิ่มเติม!) เป็นเพราะการทำงานหนักของทุกคนที่ MinInet ยังคงเติบโตและปรับปรุง
มีความสุข! เราหวังว่าจะได้เห็นสิ่งที่คุณจะทำกับ MinInet เพื่อเปลี่ยนโลกเครือข่าย
Bob Lantz ในนามของผู้มีส่วนร่วม mininet