Как запустить скрипт из оболочки mininet? - PullRequest
0 голосов
/ 29 апреля 2018

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

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

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

1 Ответ

0 голосов
/ 30 апреля 2018

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

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

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

...