Переадресация обратного пути с использованием контроллера 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!'
Другие вопросы по тегам