Как запустить скрипт из оболочки mininet?

У меня есть задание на курсе SDN по созданию балансировщика нагрузки с использованием контроллера mininet и pox. У меня есть файл топологии, который я создал с помощью Python и mininet, и файл контроллера, который я создал с помощью Python и POX. Топология следующая: хосты h1-h4 — клиентские хосты, хосты h5-h8 — серверы. У меня есть один коммутатор, который действует как балансировщик нагрузки. Клиенты отправляют запросы на коммутатор, который перенаправляет запрос на случайно выбранный сервер. Затем сервер отправляет запрос обратно на коммутатор, а коммутатор затем направляет его обратно клиенту.

Мне удалось выполнить эту задачу, но теперь я должен показать, что балансировщик нагрузки работает должным образом (то есть балансирует запросы между всеми серверами). Мне нужно показать это, сгенерировав не менее 10 000 запросов от клиентов к коммутатору.

Мой вопрос: как мне сделать такой скрипт и запустить его из оболочки mininet? Я подумал о создании сценария, который запускает цикл (10 000 итераций) и выбирает случайного клиента, который пингует коммутатор. Проблема в том, что я не знаю, как это сделать.


person Amit Yahav    schedule 29.04.2018    source источник


Ответы (1)


Для этого вы можете использовать mininet API. Как только ваша топология будет создана. В тот же файл mininet можно включить цикл, который случайным образом выбирает клиент и коммутатор ping. Допустим, выбранный клиентский узел — h1.

    h1.cmd(<your command which is to be run at h1 to ping switch>)

команда, переданная в качестве аргумента, будет запущена на терминале h1. Функция cmdPrint делает то же самое, за исключением того, что она также выводит вывод. Эксклюзивный список функций API мининета для узла см. в справочном руководстве по API мининет.

person Suraj jha    schedule 30.04.2018