
إطار محاكاة شبكات البوتنت
يوفر BSF بيئة محاكاة منفصلة لتطبيق وتوسيع شبكات الروبوتات من نظير إلى نظير، وتعديل إعداداتها، والسماح للمدافعين بتقييم المراقبة والتدابير المضادة.
في سباق التسلح بين سادة الروبوتات والمدافعين، يتمتع سادة الروبوتات بالأفضلية، حيث يتعين على المدافعين الرد على الإجراءات والتهديدات الجديدة التي يقدمها سادة الروبوتات. يعالج إطار محاكاة شبكات الروبوتات (BSF) هذه المشكلة من خلال تحقيق تكافؤ الفرص. إنه يسمح للمدافعين بالتقدم في سباق التسلح من خلال تطوير وتقييم تقنيات مراقبة جديدة لشبكات الروبوتات والتدابير المضادة. هذا أمر بالغ الأهمية، لأن التجارب في البيئة الحقيقية ستتداخل مع الباحثين الآخرين وقد تنبه سادة الروبوتات.
يسمح BSF بمحاكاة واقعية لشبكات الروبوتات من نظير إلى نظير لاستكشاف ودراسة تصميم وتأثير آليات المراقبة ومحاولات الإسقاط قبل نشرها في البيئة الحقيقية. BSF هو محاكي أحداث منفصل لشبكات الروبوتات يوفر مجموعة من ميزات شبكات الروبوتات القابلة للتكوين (والتخصيص) بدرجة عالية، بما في ذلك:
علاوة على ذلك، يوفر BSF وحدة تصور تفاعلية لمزيد من دراسة نتائج المحاكاة. يهدف BSF إلى تمكين الباحثين والمدافعين من دراسة تصميم آليات المراقبة المختلفة في وجود آليات مضادة للمراقبة [1,2,3]. بالإضافة إلى ذلك، تتيح هذه الأداة للمستخدمين استكشاف وفهم تأثير اختيارات التصميم لشبكات الروبوتات التي شوهدت حتى الآن.
يتكون BSF من إطار المحاكاة وأداة التصور. إطار المحاكاة نفسه مبني على OMNeT++. بينما تم بناء التصور على Dash لتوفير التفاعل داخل متصفحك المفضل.
تم بناء الإصدار الحالي من BSF واختباره باستخدام الإصدار 5.4.1 من OMNeT++.
يرجى الرجوع إلى توثيق OMNeT++ للحصول على إرشادات التثبيت والبرامج التعليمية والمراجع المتعلقة بالوظائف المقدمة.
لتصور محاكيات شبكات الروبوتات، يلزم توفر حزم بايثون التالية:
pip install dash==1.2.0 # The core dash backend
pip install dash-daq==0.1.0 # DAQ components (newly open-sourced!)
pip install networkx
pip install natsort
pip install numpy
تعتمد محاكيات OMNeT++ على التكوينات المحددة في ملفات .ini. يحتوي مجلد المحاكيات في هذا المستودع على مجموعة من التكوينات المحددة مسبقًا والموجودة في ملفي tests.ini و sample.ini.
لتشغيل تكوين، يمكنك استخدام إما بيئة تطوير OMNeT++ المتكاملة (IDE) أو سطر الأوامر. نظرًا لأن BSF لا يستخدم أيًا من الميزات الرسومية لـ OMNeT++، فإننا نوصي بتشغيل جميع المحاكيات في cmdenv، أي باستخدام مخرجات وحدة التحكم فقط.
لتشغيل محاكاة داخل IDE، تحتاج إلى إعداد تكوين تشغيل. للقيام بذلك، انقر بزر الماوس الأيمن على ملف *.ini واختر Run As -> Run Configurations. بعد ذلك، قم بإعداد ملف التكوين الخاص بك كما هو موضح في الصورة أدناه:

الآن فقط انقر فوق "تطبيق" ثم "تشغيل". ستظهر مخرجات المحاكاة في وحدة تحكم IDE.
للتشغيل من سطر الأوامر، نحتاج أولاً إلى بناء المشروع. انتقل إلى المجلد الجذر وقم بتشغيل:
make MODE=release all
بعد ذلك، انتقل إلى مجلد المحاكيات وقم بتشغيل:
../BSF -r 0 -m -u Cmdenv -c SampleConfig_Crawler -n .. samples.ini
بغض النظر عن تشغيل المحاكاة من IDE أو سطر الأوامر، يجب أن ترى مخرجات مشابهة لهذا:
** Event #577792 t=64831.46985369179 Elapsed: 4.21157s (0m 04s) 37% completed (37% total)
Speed: ev/sec=180486 simsec/sec=14682 ev/simsec=12.293
Messages: created: 406512 present: 2108 in FES: 487
Just crawled: 24 nodes at 88983.25891616358
Just crawled: 40 nodes at 92583.25891616358
** Event #1050880 t=93607.74036896409 Elapsed: 6.28757s (0m 06s) 54% completed (54% total)
Speed: ev/sec=227885 simsec/sec=13861.4 ev/simsec=16.4402
Messages: created: 729732 present: 2106 in FES: 630
Just crawled: 108 nodes at 96183.25891616358
Just crawled: 286 nodes at 99783.25891616358
Just crawled: 570 nodes at 103383.25891616358
الكتل التي تبدأ بـ ** هي مخرجات قياسية من OMNeT++ تشير إلى تقدم المحاكاة وإحصائياتها. في التكوين المحدد، لدينا مخرجات إضافية من الزاحف تبلغ عن عدد العقد المكتشفة في كل فترة زحف. على الرغم من أن هذا لا يخبرنا بالكثير، إلا أننا سنعرض في القسم التالي كيف يمكنك تصور مخرجات كل من شبكة الروبوتات ونتائج الزاحف.
التصور منفصل عن إطار المحاكاة ويعمل على رأس ملفات سجلات المراقبة والرسوم البيانية المُنشأة. لقد قمنا أيضًا بتحميل بعض البيانات النموذجية لاستكشاف التصورات دون تشغيل الإطار الرئيسي.
لتصور نتائج المحاكيات، يجب عليك الانتقال إلى مجلد visualization واستدعاء app.py. بعد ذلك، افتح متصفحك المفضل وافتح http://127.0.0.1:8050/. يجب أن يوفر لك هذا عرضًا بيانيًا لأحد التكوينات النموذجية يبدو شيئًا كهذا:

تتيح لك القائمة المنسدلة في أعلى يمين الشاشة الاختيار بين نتائج التكوينات المختلفة. في أسفل الشاشة، يمكنك رؤية خط زمني يشير إلى جميع اللقطات المتاحة لشبكة الروبوتات. هذا يسمح بتصور التغييرات في النشاط والاتصال بين الروبوتات. علاوة على ذلك، تتيح القائمة الموجودة على اليمين تصور المعلومات التي تم جمعها بواسطة الزحافات أو أجهزة الاستشعار. يمكن رؤية مثال في الشكل التالي، حيث يتم تمييز عرض الزاحف باللون الأخضر.

علاوة على ذلك، نحن نعمل حاليًا على تصورات أكثر تقدمًا تساعد في تحليل عمليات المراقبة والإسقاط.
تعرض المنشورات التالية أمثلة على حالات استخدام BSF:
[3] Emmanouil Vasilomanolakis, Max Mühlhäuser, Jan Helge Wolf, Leon Böck, Shankar Karuppayah