Переадресация обратного пути с использованием контроллера POX
Я хочу пропинговать хост из моей программы управления POX и проверить ответ. Я хочу сделать это, чтобы проверить, существует ли хост на самом деле. Как я буду пинговать хост из управляющей программы?
1 ответ
Быстрое решение состоит в том, чтобы сделать пинг с использованием языка Python и возможностей ОС. Предполагая, что вы запустили эмулятор mininet с
sudo mn --controller=remote
Сначала дайте коммутатору IP-адрес, чтобы пинг мог найти маршрут к хосту. Откройте новый терминал для ssh к вашему mininet vm
ssh -X mininet@192.168.56.101
измените 192.168.56.101, если ваш mininet vm имеет другой ip. В этом новом типе терминала
ifconfig s1
вы должны получить что-то вроде
Link encap:Ethernet HWaddr fa:64:44:9a:f9:4f UP BROADCAST RUNNING MTU:1500 Metric:1 RX packets:0 errors:0 dropped:0 overruns:0 frame:0 TX packets:0 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:0 RX bytes:0 (0.0 B) TX bytes:0 (0.0 B)
что указывает на то, что ваш коммутатор не имеет IP-адреса. Чтобы дать IP на коммутатор, мы должны
sudo ifconfig s1 10.0.1.1
и затем пропингуйте хост, подключенный к этому коммутатору (т. е. 10.0.0.1) из вашей программы POX.
import os
host_ip = "10.0.0.1" #the host ip you want to ping from controller
response = os.system("ping -c 1 " + host_ip)
#check the response...
if response == 0:
print host_ip, 'is up!'
else:
print host_ip, 'is down!'