Mininet: как сделать связь двух хостов между двумя коммутаторами - PullRequest
0 голосов
/ 26 марта 2019

Я делаю простой скрипт на python для работы с mininet. Я хочу сделать связь двух хостов (скажем, h1 и h2), разделенных двумя коммутаторами (скажем, s1 и s2). Когда h1 пытается пропинговать h2, запрос разрешения ARP для IP-адреса h2 пересекает канал между двумя коммутаторами, но не достигает другого хоста.

Это топология:

H1 ------------- S1 ------------- S2 ------------ H2

Ip H1 10.10.0.1/24
Mac H1 00: 00: 00: 10: 00: 01
Ip H2 10.10.0.2/24
Mac H2 00: 00: 00: 10: 00: 02

def networkTest():

    net = Mininet( topo=None,
               build=False )


    s1 = net.addHost('s1', cls=Node)
    s2 = net.addHost('s2', cls=Node)

    h1 = net.addHost('h1', cls=Host, mac='00:00:10:10:00:01')
    h2 = net.addHost('h2', cls=Host, mac='00:00:10:10:00:02')

    Link(s1, h1, intfName1='s1-eth0')
    Link(s2, h2, intfName1='s2-eth0')
    Link(s1, s2, intfName1='s1-eth1')

    net.build()

    for controller in net.controllers:
        controller.start()

    h1.cmd('ip addr add 10.10.0.1/24 dev h1-eth0')
    h1.cmd('ip link set h1-eth0 up')

    h2.cmd('ip addr add 10.10.0.2/24 dev h2-eth0')
    h2.cmd('ip link set h2-eth0 up')

    s1.cmd('brctl addbr br0')
    s1.cmd('brctl addif br0 s1-eth0')
    s1.cmd('brctl addif br0 s1-eth1')
    s1.cmd('ip link set br0 up')

    s2.cmd('brctl addbr br1')
    s2.cmd('brctl addif br1 s2-eth0')
    s2.cmd('ip link set br1 up')

    CLI(net)
    net.stop()

В мини-CLI я открываю xterm на h1 и пытаюсь пропинговать h2

ping 10.10.0.2

но ответ

From 10.10.0.1 icmp_seq = 1 Destination Host Unreachable

1 Ответ

0 голосов
/ 29 марта 2019

Я думаю, что ваши хосты не подключены через какой-либо контроллер.Убедитесь, что ваши хосты подключены к любому контроллеру (Opendaylight, Floodlight и т. Д.) Таким образом, чтобы вы могли понять.Просто введите pingall все на мининет.Он должен показывать вам следующее:

h1 ---> h2 h3 h2 ---> h1 h3 h3 ---> h1 h2-

...