intrig-unicamp / mininet-wifi

Emulator for Software-Defined Wireless Networks
https://mn-wifi.readthedocs.io/
Other
446 stars 241 forks source link

Handover test fail with TCP/MPTCP #406

Closed huynhducmanh closed 3 years ago

huynhducmanh commented 3 years ago

https://user-images.githubusercontent.com/32647896/132820488-a2a03bbb-c360-4263-9b5f-b538d2966f77.mp4

Hi, I attached the video to show my issue with handover test, whenever the sta1 move and connect to ap2, the iperf throughput goes to 0 indefinitely. I attached my code below for the TCP topology. Thank you so much!

!/usr/bin/python

'Example for Handover' import time from mininet.node import Controller from mininet.log import setLogLevel, info from mn_wifi.cli import CLI from mn_wifi.net import Mininet_wifi

def topology(): "Create a network." net = Mininet_wifi(controller=Controller)

info("*** Creating nodes\n")
sta1 = net.addStation('sta1', mac='00:00:00:00:00:02', ip='10.0.0.2/8',
                      range=20)
ap1 = net.addAccessPoint('ap1', ssid='ssid-ap1', mode='g', channel='1',
                         position='20,30,0', range=30)
ap2 = net.addAccessPoint('ap2', ssid='ssid-ap2', mode='g', channel='6',
                         position='80,30,0', range=30)
s1 = net.addSwitch( 's1')
s2 = net.addSwitch( 's2')
h1 = net.addHost( 'h1', ip='10.0.0.3/8')
c1 = net.addController('c1')

net.setPropagationModel(model="logDistance", exp=5)

info("*** Configuring wifi nodes\n")
net.configureWifiNodes()

info("*** Creating links\n")
net.addLink(ap1, sta1, bw=25, delay='25ms')
net.addLink(ap2, sta1, bw=10, delay='70ms')
net.addLink(ap1, s1, bw=25, delay='25ms')
net.addLink(ap2, s2, bw=10, delay='70ms')
net.addLink(s1, h1, bw=60)
net.addLink(s2, h1, bw=60)

net.plotGraph(max_x=100, max_y=100)
net.startMobility(time=0)
net.mobility(sta1, 'start', time=1, position='20,30,0')
net.mobility(sta1, 'stop', time=80, position='80,30,0')
net.stopMobility(time=81)

info("*** Starting network\n")
net.build()
c1.start()
ap1.start([c1])
ap2.start([c1])
s1.start([c1])

info("*** Running CLI\n")
CLI(net)

info("*** Stopping network\n")
net.stop()

if name == 'main': setLogLevel('info') topology()

ramonfontes commented 3 years ago

Sorry?? Where is the issue?? What is the ip addr of the second interface of h1?? Can you describe the issue please? What is the issue and what is the expected result and why??