أفضل طريقة لمحاكاة أي شبكة تقريبًا على الكمبيوتر المحمول!
Mininet 2.3.1b4
يحاكي Mininet شبكة كاملة من المضيفين والروابط والتبديل على جهاز واحد. لإنشاء عينة من الشبكة المضيئة ، أحادي المفتاح ، فقط قم بتشغيلها:
sudo mn
Mininet مفيدة للتطوير التفاعلي والاختبار والعروض التجريبية ، وخاصة أولئك الذين يستخدمون OpenFlow و SDN. عادةً ما يمكن نقل النموذج الأولي للشبكة المستندة إلى OpenFlow في Mininet إلى الأجهزة مع الحد الأدنى من التغييرات لتنفيذ معدل الخط الكامل.
تقوم Mininet بإنشاء شبكات افتراضية باستخدام مساحات المحاكاة الافتراضية القائمة على العملية ومساحات أسماء الشبكة - الميزات المتوفرة في نواة Linux الأخيرة. في Mininet ، يتم محاكاة المضيفين كعمليات bash
التي تعمل في مساحة اسم الشبكة ، لذلك يجب أن يتم تشغيل أي رمز عادة على خادم Linux (مثل خادم الويب أو برنامج العميل) على ما يرام داخل "مضيف" mininet. سيكون لـ Mininet "Host" واجهة شبكة خاصة به ويمكن أن ترى عملياتها الخاصة فقط. المفاتيح في Mininet عبارة عن مفاتيح قائمة على البرمجيات مثل Open Vswitch أو OpenFlow Reference Switch. الروابط عبارة عن أزواج إيثرنت افتراضية ، والتي تعيش في نواة Linux وتوصيل مفاتيحنا المحببة بالمضيفين (العمليات).
Mininet يشمل:
قاذفة سطر الأوامر ( mn
) لشبكات مثيلها.
واجهة برمجة تطبيقات بيثون مفيدة لإنشاء شبكات من الأحجام والطوبولوجيا المختلفة.
أمثلة (في examples/
الدليل) لمساعدتك في البدء.
وثائق API الكاملة عبر Python help()
docstrings ، وكذلك القدرة على توليد وثائق PDF/HTML مع make doc
.
طبولوجيا المعالم (فئات توبو Topo
) باستخدام كائن mininet. على سبيل المثال ، يمكن إنشاء شبكة شجرة مع الأمر:
mn --topo tree,depth=2,fanout=3
واجهة سطر الأوامر (فئة CLI
) التي توفر أوامر تشخيصية مفيدة (مثل iperf
و ping
) ، وكذلك القدرة على تشغيل أمر إلى عقدة. على سبيل المثال،
mininet> h11 ifconfig -a
يخبر المضيف H11 لتشغيل الأمر ifconfig -a
أمر "Cleanup" للتخلص من غير المرغوب فيه (الواجهات والعمليات والملفات في /tmp ، وما إلى ذلك) والتي قد تتركها Mininet أو Linux. جرب هذا إذا توقفت الأمور عن العمل!
mn -c
Mininet 2.3.1b4 يدعم Python 3 و Python 2
يمكنك تثبيت كل من إصدارات Python 3 و Python 2 من Mininet جنبًا إلى جنب ، لكن أحدث تثبيت سيحدد إصدار Python المستخدم افتراضيًا بواسطة mn
.
يمكنك تشغيل mn
مباشرة مع Python 2 أو Python 3 ، طالما تم تثبيت الإصدار المناسب من Mininet ، على سبيل المثال
$ 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
) ، تتوفر الكثير من المعلومات المفيدة ، بما في ذلك تجول Mininet ومقدمة في API Python ، على موقع Mininet على الويب. هناك أيضًا wiki يتم تشجيعك على قراءتها والمساهمة ، وخاصة الأسئلة التي يتم طرحها بشكل متكرر (FAQ) على http://faq.mininet.org.
Mininet مدعوم المجتمع. نشجعك على الانضمام إلى قائمة Mininet البريدية ، mininet-discuss
على:
https://mailman.stanford.edu/mailman/listinfo/mininet-discuss
شكرا مرة أخرى لجميع المساهمين من Mininet والمستخدمين!
Mininet هو مشروع مفتوح المصدر ويتم استضافته حاليًا على https://github.com/mininet. يتم تشجيعك على تنزيل الكود وفحصه وتعديله ، وإرسال تقارير الأخطاء وإصلاحات الأخطاء وطلبات الميزات والميزات الجديدة وغيرها من المشكلات وطلبات السحب. بفضل كل من ساهم في التعليمات البرمجية في مشروع Mininet (انظر المساهمين لمزيد من المعلومات!) ، وذلك بسبب العمل الشاق للجميع ، Mininet يستمر في النمو والتحسن.
استمتع! نتطلع إلى رؤية ما ستفعله مع Mininet لتغيير عالم الشبكات.
بوب لانتز ، نيابة عن المساهمين في مينينيت