Happy هي أداة للتنسيق الخفيف لطبولوجيا الشبكات المحاكاة. استخدمه لاختبار بروتوكولات الشبكة وبرامج التنفيذ الموزعة الأخرى على جهاز تطوير Linux واحد دون استخدام أجهزة جهاز إنترنت الأشياء.
ما هذا؟
Happy يحاكي طبولوجيا الشبكة المعقدة. على جهاز Linux واحد ، يمكن لـ Happy إنشاء عدة عقد مع حزم شبكة مستقلة عن بعضها البعض. قد تكون بعض العقد متصلة بشبكات خيوط محاكاة ، والبعض الآخر قد يتصل بمحاكاة Wi-Fi أو WAN (الإنترنت) أو الشبكات الخلوية.
تعالج Happy حالات الاستخدام التالية:
- اختبار بروتوكولات الشبكة وبرامج التنفيذ الموزعة الأخرى على جهاز واحد لتطوير Linux دون استخدام الأجهزة
- إجراء اختبار وظيفي آلي عبر الشبكة
- تشغيل عدة شبكات متوازية ومتزامنة على نفس النظام لتحسين إنتاجية الاختبار
يعمل Happy على حل هذه المشكلات عن طريق إنشاء تجريدات طوبولوجيا الشبكة بأقل قدر من حمل المستخدم. يمكن إنشاء طبولوجيا معقدة باستدعاء أمر قذيفة واحد. تدعم Happy كلاً من الاستخدام التفاعلي والبرمجة النصية الآلية.
استخدم أوامر Happy shell لإعداد التعليمات البرمجية واختبارها وتصحيحها أثناء التطوير. يمكن بعد ذلك كتابة برامج اختبار وتكوين الشبكات نفسها واستخدامها في الاختبار الآلي.
البدء
الطريقة الأسرع والأسهل لبدء استخدام Happy هي تصفح Codelab. يرشد المستخدم من خلال جميع الأساسيات السعيدة ، بما في ذلك:
- إنشاء وحذف الطوبولوجيا
- عقد الشبكات معًا
- حفظ واستعادة طبولوجيا
- ربط الهيكل بالإنترنت
- أساسيات النسج
جرب Getting Started with Happy Codelab
انظر الإعداد و الاستخدام لمزيد من المعلومات حول إعداد واستخدام سعيد.
بنيان
سعيد نماذج ما يلي:
- العقدة - A لينكس شبكة مساحة الاسم. يتم تشغيل العمليات التي تتألف من العقدة ضمن مساحة اسم شبكة محددة.
- وصلة - واجهة الشبكة لينكس. سعيد يستخدم
veth
جهاز شبكة لدعم L3 اجهات (IP) وtap
جهاز شبكة لدعم L2 واجهات من خارج منطقة الجزاء. - شبكة - شبكة مساحات لينكس مع جسر إيثرنت تعمل داخلها.
التنفيذ
Happy عبارة عن مجموعة من وحدات Python النمطية. توفر وحدات Core Happy نماذج تجريدية لـ:
- إدارة تجريدات العقدة
- إضافة وتعديل وحذف العقد
- تشغيل مجموعة من العمليات داخل العقدة
- إدارة الروابط
- إضافة وتعديل وحذف الروابط
- تعيين روابط لعقدة وشبكة
- تعيين وتعديل تخصيصات العناوين
- إدارة الشبكات
- إنشاء وتعديل وإتلاف الشبكات
- اتصال الشبكة
- إدارة الحالة العامة للإطار بطريقة متماسكة
ترتبط معظم الأفكار المجردة التي تنفذها وحدات Happy النمطية بالأوامر التي تستدعي أدوات شبكة Linux.
يحتوي سعيد أيضا مجموعة من الإضافات وجدت في /plugins
. تعمل المكونات الإضافية على التفاف مجموعة من الوظائف المتعلقة بتقنية معينة. على سبيل المثال، /plugins/weave
تحتوي المساعدين أن اللفائف مختلف التطبيقات نسج لتنفيذ ضمن سعيد.
إعدام
يمكن للمستخدمين بناء طبولوجيا محاكية عبر طريقتين:
- أوامر شل - جميع الأوامر في
/bin
. - نصوص Python - قم باستيراد وحدات Happy لاستدعاء أوامر Happy في نصوص Python الخاصة بك. الوحدات هي في
/happy
.
لمزيد من المعلومات حول استخدام وحدات سعيد في البرامج النصية بيثون الخاصة بك، انظر بيثون البرمجة .