def testDefaultDpid(self): """Verify that the default dpid is assigned using a valid provided canonical apname if no dpid is passed in ap creation.""" ap = Mininet_wifi( topo=Topo_WiFi(), accessPoint=self.accessPointClass, station=Station, controller=Controller, ).addAccessPoint('ap1') self.assertEqual(ap.defaultDpid(), ap.dpid)
def testActualDpidAssignment(self): """Verify that AP dpid is the actual dpid assigned if dpid is passed in ap creation.""" dpid = self.dpidFrom(0xABCD) ap = Mininet_wifi( topo=Topo_WiFi(), accessPoint=self.accessPointClass, station=Station, controller=Controller, ).addAccessPoint('ap1', dpid=dpid) self.assertEqual(ap.dpid, dpid)
def testDefaultDpidLen(self): """Verify that Default dpid length is 16 characters consisting of 16 - len(hex of first string of contiguous digits passed in ap name) 0's followed by hex of first string of contiguous digits passed in ap name.""" ap = Mininet_wifi( topo=Topo_WiFi(), accessPoint=self.accessPointClass, station=Station, controller=Controller, ).addAccessPoint('ap123') self.assertEqual(ap.dpid, self.dpidFrom_(123))
def topology(): "Create a network." net = Mininet_wifi(controller=Controller, link=wmediumd, wmediumd_mode=error_prob) info("*** Creating nodes\n") ap1 = net.addAccessPoint('ap1', ssid='new-ssid', mode='a', channel='36', position='15,30,0') sta1 = net.addStation('sta1', mac='00:00:00:00:00:02', ip='10.0.0.1/8', position='10,20,0') sta2 = net.addStation('sta2', mac='00:00:00:00:00:03', ip='10.0.0.2/8', position='20,50,0') sta3 = net.addStation('sta3', mac='00:00:00:00:00:04', ip='10.0.0.3/8', position='20,60,10') c1 = net.addController('c1') info("*** Configuring wifi nodes\n") net.configureWifiNodes() net.addLink(sta1, ap1, error_prob=0.01) net.addLink(sta2, ap1, error_prob=0.02) net.addLink(sta3, ap1, error_prob=1) net.plotGraph(max_x=100, max_y=100) info("*** Starting network\n") net.build() c1.start() ap1.start([c1]) info("*** Running CLI\n") CLI_wifi(net) info("*** Stopping network\n") net.stop()
def topology(): "Create a network." net = Mininet_wifi(link=wmediumd, wmediumd_mode=interference) # intf: physical interface intf = 'wlxf4f26d193319' info("*** Creating nodes\n") sta1 = net.addStation('sta1', position='10,10,0', inNamespace=False) sta2 = net.addStation('sta2', position='50,10,0') sta3 = net.addStation('sta3', position='90,10,0') net.setPropagationModel(model="logDistance", exp=4) info("*** Configuring wifi nodes\n") net.configureWifiNodes() info("*** Creating links\n") # intf: physical interface net.addLink(sta1, cls=physicalMesh, intf=intf, ssid='meshNet', channel=5) net.addLink(sta2, cls=mesh, ssid='meshNet', channel=5) net.addLink(sta3, cls=mesh, ssid='meshNet', channel=5) net.plotGraph(max_x=100, max_y=100) info("*** Starting network\n") net.build() # This is the interface/ip addr of the physical node os.system('ip addr add 10.0.0.4/8 dev physta1-mp0') info("*** Running CLI\n") CLI_wifi(net) # Delete the interface created previously os.system('iw dev physta1-mp0 del') info("*** Stopping network\n") net.stop()
def topology(): "Create a network." net = Mininet_wifi(controller=Controller, link=wmediumd, wmediumd_mode=interference) info("*** Creating nodes\n") sta1 = net.addStation('sta1', mac='00:00:00:00:00:11', position='1,1,0') sta2 = net.addStation('sta2', mac='00:00:00:00:00:12', position='31,11,0') ap1 = net.addAccessPoint('ap1', wifs=2, ssid='ssid1,', position='10,10,0') ap2 = net.addAccessPoint('ap2', wifs=2, ssid='ssid2,', position='30,10,0') c0 = net.addController('c0') info("*** Configuring wifi nodes\n") net.configureWifiNodes() info("*** Associating Stations\n") net.addLink(sta1, ap1) net.addLink(sta2, ap2) net.addLink(ap1, intf='ap1-wlan2', cls=mesh, ssid='mesh-ssid', channel=5) net.addLink(ap2, intf='ap2-wlan2', cls=mesh, ssid='mesh-ssid', channel=5) info("*** Starting network\n") net.build() c0.start() ap1.start([c0]) ap2.start([c0]) info("*** Running CLI\n") CLI_wifi(net) info("*** Stopping network\n") net.stop()
def topology(isVirtual): "Create a network." net = Mininet_wifi(controller=Controller) info("*** Creating nodes\n") if isVirtual: sta1 = net.addStation('sta1', nvif=2) else: sta1 = net.addStation('sta1') sta2 = net.addStation('sta2') if isVirtual: ap1 = net.addAccessPoint('ap1', ssid="simplewifi", mode="g", channel="5") else: # isolate_clientes: Client isolation can be used to prevent low-level # bridging of frames between associated stations in the BSS. # By default, this bridging is allowed. # OpenFlow rules are required to allow communication among nodes ap1 = net.addAccessPoint('ap1', ssid="simplewifi", isolate_clients=True, mode="g", channel="5") c0 = net.addController('c0') info("*** Configuring wifi nodes\n") net.configureWifiNodes() info("*** Associating Stations\n") net.addLink(sta1, ap1) net.addLink(sta2, ap1) info("*** Starting network\n") net.build() c0.start() ap1.start([c0]) if not isVirtual: ap1.cmd('ovs-ofctl add-flow ap1 "priority=0,arp,in_port=1,' 'actions=output:in_port,normal"') ap1.cmd('ovs-ofctl add-flow ap1 "priority=0,icmp,in_port=1,' 'actions=output:in_port,normal"') ap1.cmd('ovs-ofctl add-flow ap1 "priority=0,udp,in_port=1,' 'actions=output:in_port,normal"') ap1.cmd('ovs-ofctl add-flow ap1 "priority=0,tcp,in_port=1,' 'actions=output:in_port,normal"') info("*** Running CLI\n") CLI_wifi(net) info("*** Stopping network\n") net.stop()
def topology(): "Create a network." net = Mininet_wifi(link=wmediumd, wmediumd_mode=interference, configureWiFiDirect=True, autoAssociation=False) info("*** Creating nodes\n") sta1 = net.addStation('sta1', ip='10.0.0.1/8', position='10,10,0', inNamespace=False) sta2 = net.addStation('sta2', ip='10.0.0.2/8', position='20,20,0') info("*** Configuring Propagation Model\n") net.setPropagationModel(model="logDistance", exp=3.5) info("*** Configuring wifi nodes\n") net.configureWifiNodes() net.plotGraph(max_x=200, max_y=200) info("*** Starting WiFi Direct\n") intf='wlxf4f26d193319' net.addLink(sta1, cls=physicalWifiDirectLink, intf=intf) net.addLink(sta2, cls=wifiDirectLink) info("*** Starting network\n") net.build() sta1.cmd('wpa_cli -ista1-wlan0 p2p_find') sta2.cmd('wpa_cli -ista2-wlan0 p2p_find') sta2.cmd('wpa_cli -ista2-wlan0 p2p_peers') sleep(3) sta1.cmd('wpa_cli -ista1-wlan0 p2p_peers') sleep(3) pin = sta1.cmd('wpa_cli -ista1-wlan0 p2p_connect %s pin auth' % sta2.params['mac'][0]) sleep(3) sta2.cmd('wpa_cli -ista2-wlan0 p2p_connect %s %s' % (sta1.params['mac'][0], pin)) # This is the interface/ip addr of the physical node os.system('ip addr add 10.0.0.3/8 dev %s' % intf) info("*** Running CLI\n") CLI_wifi(net) info("*** Stopping network\n") net.stop()
def topology(): "Create a network." net = Mininet_wifi(controller=Controller) info("*** Creating nodes\n") net.addStation('sta1', mac='00:00:00:00:00:02', ip='10.0.0.2/8') net.addStation('sta2', mac='00:00:00:00:00:03', ip='10.0.0.3/8') net.addStation('sta3', mac='00:00:00:00:00:04', ip='10.0.0.4/8') net.addStation('sta4', mac='00:00:00:00:00:05', ip='10.0.0.5/8') net.addStation('sta5', mac='00:00:00:00:00:06', ip='10.0.0.6/8') net.addStation('sta6', mac='00:00:00:00:00:07', ip='10.0.0.7/8') net.addStation('sta7', mac='00:00:00:00:00:08', ip='10.0.0.8/8') net.addStation('sta8', mac='00:00:00:00:00:09', ip='10.0.0.9/8') net.addStation('sta9', mac='00:00:00:00:00:10', ip='10.0.0.10/8') net.addStation('sta10', mac='00:00:00:00:00:11', ip='10.0.0.11/8') ap1 = net.addAccessPoint('ap1', ssid='ssid-ap1', mode='g', channel='1', position='50,50,0') ap2 = net.addAccessPoint('ap2', ssid='ssid-ap2', mode='g', channel='6', position='70,50,0', range=30) ap3 = net.addAccessPoint('ap3', ssid='ssid-ap3', mode='g', channel='11', position='90,50,0') c1 = net.addController('c1') net.setPropagationModel(model="logDistance", exp=5) info("*** Configuring wifi nodes\n") net.configureWifiNodes() info("*** Associating and Creating links\n") net.addLink(ap1, ap2) net.addLink(ap2, ap3) net.plotGraph(max_x=120, max_y=120) net.setMobilityModel(time=0, model='RandomWayPoint', max_x=120, max_y=120, min_v=0.3, max_v=0.5, seed=1, ac_method='ssf') info("*** Starting network\n") net.build() c1.start() ap1.start([c1]) ap2.start([c1]) ap3.start([c1]) info("*** Running CLI\n") CLI_wifi(net) info("*** Stopping network\n") net.stop()
def topology(): "Create a network." net = Mininet_wifi(controller=Controller, link=wmediumd, wmediumd_mode=interference, configure4addr=True) info("*** Creating nodes\n") ap1 = net.addAccessPoint('ap1', ssid="ap1-ssid", mode="g", channel="1", position='30,30,0') ap2 = net.addAccessPoint('ap2', ssid="ap2-ssid", mode="g", channel="1", position='40,60,0') ap3 = net.addAccessPoint('ap3', ssid="ap3-ssid", mode="g", channel="1", position='50,30,0') sta1 = net.addStation('sta1', ip="192.168.0.1/24", position='31,32,0') sta2 = net.addStation('sta2', ip="192.168.0.2/24", position='32,34,0') sta3 = net.addStation('sta3', ip="192.168.0.3/24", position='41,62,0') sta4 = net.addStation('sta4', ip="192.168.0.4/24", position='42,64,0') sta5 = net.addStation('sta5', ip="192.168.0.5/24", position='51,32,0') sta6 = net.addStation('sta6', ip="192.168.0.6/24", position='52,34,0') c0 = net.addController('c0') info("*** Configuring Propagation Model\n") net.setPropagationModel(model="logDistance", exp=4.5) info("*** Configuring wifi nodes\n") net.configureWifiNodes() info("*** Adding Link\n") net.addLink(ap1, ap2, cls=_4address) # ap1=ap, ap2=client net.addLink(ap1, ap3, cls=_4address) # ap1=ap, ap3=client net.addLink(sta1, ap1) net.addLink(sta2, ap1) net.addLink(sta3, ap2) net.addLink(sta4, ap2) net.addLink(sta5, ap3) net.addLink(sta6, ap3) net.plotGraph(max_x=100, max_y=100) info("*** Starting network\n") net.build() c0.start() ap1.start([c0]) ap2.start([c0]) ap3.start([c0]) info("*** Running CLI\n") CLI_wifi(net) info("*** Stopping network\n") net.stop()
def topology(): "Create a network." net = Mininet_wifi(link=wmediumd, wmediumd_mode=interference, configureWiFiDirect=True) info("*** Creating nodes\n") sta1 = net.addStation('sta1', ip='10.0.0.1/8', position='10,10,0') sta2 = net.addStation('sta2', ip='10.0.0.2/8', position='20,20,0') info("*** Configuring Propagation Model\n") net.setPropagationModel(model="logDistance", exp=3.5) info("*** Configuring wifi nodes\n") net.configureWifiNodes() net.plotGraph(max_x=200, max_y=200) info("*** Starting WiFi Direct\n") net.addLink(sta1, cls=wifiDirectLink) net.addLink(sta2, cls=wifiDirectLink) info("*** Starting network\n") net.build() sta1.cmd('wpa_cli -ista1-wlan0 p2p_find') sta2.cmd('wpa_cli -ista2-wlan0 p2p_find') sta2.cmd('wpa_cli -ista2-wlan0 p2p_peers') sleep(3) sta1.cmd('wpa_cli -ista1-wlan0 p2p_peers') sleep(3) pin = sta1.cmd('wpa_cli -ista1-wlan0 p2p_connect %s pin auth' % sta2.params['mac'][0]) sleep(3) sta2.cmd('wpa_cli -ista2-wlan0 p2p_connect %s %s' % (sta1.params['mac'][0], pin)) info("*** Running CLI\n") CLI_wifi(net) info("*** Stopping network\n") net.stop()
def topology(): "Create a network." net = Mininet_wifi(controller=Controller, link=wmediumd, wmediumd_mode=interference) info("*** Creating nodes\n") cars = [] for id in range(0, 10): min_ = randint(1, 4) max_ = randint(11, 30) cars.append(net.addCar('car%s' % (id+1), wifs=2, min_speed=min_, max_speed=max_)) rsu11 = net.addAccessPoint('RSU11', ssid='RSU11', mode='g', channel='1') rsu12 = net.addAccessPoint('RSU12', ssid='RSU12', mode='g', channel='6') rsu13 = net.addAccessPoint('RSU13', ssid='RSU13', mode='g', channel='11') rsu14 = net.addAccessPoint('RSU14', ssid='RSU14', mode='g', channel='11') c1 = net.addController('c1') info("*** Configuring Propagation Model\n") net.setPropagationModel(model="logDistance", exp=4.5) info("*** Configuring wifi nodes\n") net.configureWifiNodes() info("*** Associating and Creating links\n") net.addLink(rsu11, rsu12) net.addLink(rsu11, rsu13) net.addLink(rsu11, rsu14) for car in cars: net.addLink(car, intf=car.params['wif'][1], cls=mesh, ssid='mesh-ssid', channel=5) net.plotGraph(max_x=500, max_y=500) net.roads(10) net.startMobility(time=0) info("*** Starting network\n") net.build() c1.start() rsu11.start([c1]) rsu12.start([c1]) rsu13.start([c1]) rsu14.start([c1]) for car in cars: car.setIP('192.168.0.%s/24' % (int(cars.index(car))+1), intf='%s-wlan0' % car) car.setIP('192.168.1.%s/24' % (int(cars.index(car))+1), intf='%s-mp1' % car) info("*** Running CLI\n") CLI_wifi(net) info("*** Stopping network\n") net.stop()
def topology(): "Create a network." net = Mininet_wifi(controller=Controller, accessPoint=UserAP) info("*** Creating nodes\n") net.addStation('sta1', passwd='123456789a,123456789a', encrypt='wpa2,wpa2', wlans=2, active_scan=1, scan_freq='2412,2437', freq_list='2412,2437', position='5,10,0') net.addStation('sta2', passwd='123456789a', encrypt='wpa2', active_scan=1, scan_freq='2437', freq_list='2437', position='45,10,0') ap1 = net.addAccessPoint('ap1', ssid="ssid-1", mode="g", channel="1", passwd='123456789a', encrypt='wpa2', position='10,10,0') ap2 = net.addAccessPoint('ap2', ssid="ssid-1", mode="g", channel="6", passwd='123456789a', encrypt='wpa2', position='40,10,0') c0 = net.addController('c0') info("*** Configuring wifi nodes\n") net.configureWifiNodes() net.plotGraph(max_x=120, max_y=120) info("*** Starting network\n") net.build() c0.start() ap1.start([c0]) ap2.start([c0]) info("*** Running CLI\n") CLI_wifi(net) info("*** Stopping network\n") net.stop()
def topology(): "Create a network." net = Mininet_wifi(controller=Controller, accessPoint=UserAP, link=wmediumd, wmediumd_mode=interference) info("*** Creating nodes\n") net.addStation('sta1', position='15,20,0', bgscan_threshold=-60, s_inverval=5, l_interval=10 ) ap1 = net.addAccessPoint('ap1', mac='00:00:00:00:00:01', ssid="handover", mode="g", channel="1", passwd='123456789a', encrypt='wpa2', position='10,30,0') ap2 = net.addAccessPoint('ap2', mac='00:00:00:00:00:02', ssid="handover", mode="g", channel="6", passwd='123456789a', encrypt='wpa2', position='60,30,0') ap3 = net.addAccessPoint('ap3', mac='00:00:00:00:00:03', ssid="handover", mode="g", channel="1", passwd='123456789a', encrypt='wpa2', position='120,100,0') c1 = net.addController('c1') info("*** Configuring Propagation Model\n") net.setPropagationModel(model="logDistance", exp=3.5) info("*** Configuring wifi nodes\n") net.configureWifiNodes() info("*** Creating links\n") net.addLink(ap1, ap2) net.addLink(ap2, ap3) net.plotGraph(min_x=-100, min_y=-100, max_x=200, max_y=200) info("*** Starting network\n") net.build() c1.start() ap1.start([c1]) ap2.start([c1]) ap3.start([c1]) info("*** Running CLI\n") CLI_wifi(net) info("*** Stopping network\n") net.stop()
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') sta2 = net.addStation('sta2', mac='00:00:00:00:00:03', ip='10.0.0.3/8') ap1 = net.addAccessPoint('ap1', ssid='new-ssid', mode='g', channel='1', position='50,50,0') c1 = net.addController('c1') info("*** Configuring wifi nodes\n") net.configureWifiNodes() info("*** Adding Link\n") sta1.params['associatedTo'][0] = ap1 sta2.params['associatedTo'][0] = ap1 info("*** Starting network\n") net.build() c1.start() ap1.start([c1]) net.plotGraph(max_x=100, max_y=100) path = os.path.dirname(os.path.abspath(__file__)) getTrace(sta1, '%s/replayingRSSI/node1_rssiData.dat' % path) getTrace(sta2, '%s/replayingRSSI/node2_rssiData.dat' % path) replayingRSSI(net) info("*** Running CLI\n") CLI_wifi(net) info("*** Stopping network\n") net.stop()
def topology(): "Create a network." net = Mininet_wifi(controller=Controller) print("*** Creating nodes") sta1 = net.addStation('sta1', mac='00:00:00:00:00:01', ip='192.168.0.1/24', position='47.28,50,0') sta2 = net.addStation('sta2', mac='00:00:00:00:00:02', ip='192.168.0.2/24', position='54.08,50,0') ap3 = net.addAccessPoint('ap3', ssid='ap-ssid3', mode='g', channel='1', position='50,50,0') c0 = net.addController('c0', controller=Controller, port=6653) print("*** Configuring wifi nodes") net.configureWifiNodes() print("*** Starting network") net.build() c0.start() ap3.start([c0]) sta1.cmd('iw dev sta1-wlan0 interface add mon0 type monitor') sta1.cmd('ip link set mon0 up') sta2.cmd('iw dev sta2-wlan0 interface add mon0 type monitor') sta2.cmd('ip link set mon0 up') if py_version_info < (3, 0): sta2.cmd('pushd /home/alpha/Downloads; ' 'python -m SimpleHTTPServer 80 &') else: sta2.cmd('pushd /home/alpha/Downloads; ' 'python -m http.server 80 &') path = os.path.dirname(os.path.abspath(__file__)) getTrace(sta1, '%s/replayingNetworkConditions/' 'clientTrace.txt' % path) getTrace(sta2, '%s/replayingNetworkConditions/' 'serverTrace.txt' % path) replayingNetworkConditions.addNode(sta1) replayingNetworkConditions.addNode(sta2) replayingNetworkConditions(net) #sta1.cmd('tcpdump -i mon0 -s 0 -vvv -w client.pcap &&') #sta2.cmd('tcpdump -i mon0 -s 0 -vvv -w server.pcap &&') #sta1 tcpdump -i mon0 -s 0 -vvv -w client.pcap && sta1 wget http://192.168.0.2/virtualbox-5.0_5.0.20-106931~Ubuntu~xenial_amd64.deb #sta1.cmd('wget http://'+sta2.IP()+'/virtualbox-5.0_5.0.20-106931~Ubuntu~xenial_amd64.deb') #sta1.cmd('nohup ping ' + sta2.IP() + ' -c 180 > ping1.log &') #sta2.cmd('nohup ping ' + sta1.IP() + ' -c 180 > ping2.log &') #sta2.cmd('iperf -s &') #sta1.cmd('iperf -c ' + sta2.IP() + ' -i 0.5 -t 60 | awk \'t=120{if(NR>=7 && NR<=25) print $8; else if(NR>=26 && NR<=t+6) print $7}\' > replay1.dat') #sta2.cmd('iperf -c ' + sta1.IP() + ' -i 0.5 -t 60 | awk \'t=120{if(NR>=7 && NR<=25) print $8; else if(NR>=26 && NR<=t+6) print $7}\' > replay2.dat &') print("*** Running CLI") CLI_wifi(net) print("*** Stopping network") net.stop()
def topology(coord): "Create a network." net = Mininet_wifi(controller=Controller) info("*** Creating nodes\n") h1 = net.addHost('h1', mac='00:00:00:00:00:01', ip='10.0.0.1/8') sta1 = net.addStation('sta1', mac='00:00:00:00:00:02', ip='10.0.0.2/8') sta2 = net.addStation('sta2', mac='00:00:00:00:00:03', ip='10.0.0.3/8') ap1 = net.addAccessPoint('ap1', ssid='new-ssid', mode='g', channel='1', position='45,40,0') c1 = net.addController('c1') info("*** Configuring wifi nodes\n") net.configureWifiNodes() info("*** Associating and Creating links\n") net.addLink(ap1, h1) net.plotGraph(max_x=200, max_y=200) if coord: sta1.coord = ['40.0,30.0,0.0', '31.0,10.0,0.0', '31.0,30.0,0.0'] sta2.coord = ['40.0,40.0,0.0', '55.0,31.0,0.0', '55.0,81.0,0.0'] net.startMobility(time=0, repetitions=1) if coord: net.mobility(sta1, 'start', time=1) net.mobility(sta2, 'start', time=2) net.mobility(sta1, 'stop', time=12) net.mobility(sta2, 'stop', time=22) else: net.mobility(sta1, 'start', time=1, position='40.0,30.0,0.0') net.mobility(sta2, 'start', time=2, position='40.0,40.0,0.0') net.mobility(sta1, 'stop', time=12, position='31.0,10.0,0.0') net.mobility(sta2, 'stop', time=22, position='55.0,31.0,0.0') net.stopMobility(time=23) info("*** Starting network\n") net.build() c1.start() ap1.start([c1]) info("*** Running CLI\n") CLI_wifi(net) info("*** Stopping network\n") net.stop()
def topology(): "Create a network." net = Mininet_wifi(controller=Controller, link=wmediumd, wmediumd_mode=interference) info("*** Creating nodes\n") ap1 = net.addAccessPoint('ap1', ssid='new-ssid', mode='a', channel='36', position='150,150,0') net.addStation('sta1', mac='00:00:00:00:00:02', ip='10.0.0.2/8') net.addStation('sta2', mac='00:00:00:00:00:03', ip='10.0.0.3/8') c1 = net.addController('c1') info("*** Configuring Propagation Model\n") net.setPropagationModel(model="logDistance", exp=3) info("*** Configuring wifi nodes\n") net.configureWifiNodes() net.plotGraph(max_x=300, max_y=300) net.setMobilityModel(time=0, model='RandomDirection', max_x=300, max_y=300, min_v=0.5, max_v=0.8, seed=20) info("*** Starting network\n") net.build() c1.start() ap1.start([c1]) info("*** Running CLI\n") CLI_wifi(net) info("*** Stopping network\n") net.stop()
def topology(): "Create a network." net = Mininet_wifi(controller=Controller, link=wmediumd, wmediumd_mode=interference) info("*** Creating nodes\n") sta1 = net.addStation('sta1', mac='00:00:00:00:00:02', ip='10.0.0.1/8', speed=4) sta2 = net.addStation('sta2', mac='00:00:00:00:00:03', ip='10.0.0.2/8', speed=6) sta3 = net.addStation('sta3', mac='00:00:00:00:00:04', ip='10.0.0.3/8', speed=3) sta4 = net.addStation('sta4', mac='00:00:00:00:00:05', ip='10.0.0.4/8', speed=3) ap1 = net.addAccessPoint('ap1', ssid='new-ssid', mode='g', channel='1', position='45,45,0') c1 = net.addController('c1', controller=Controller) info("*** Configuring Propagation Model\n") net.setPropagationModel(model="logDistance", exp=4.5) info("*** Configuring wifi nodes\n") net.configureWifiNodes() info("*** Creating links\n") net.addLink(sta3, cls=adhoc, ssid='adhocNet') net.addLink(sta4, cls=adhoc, ssid='adhocNet') path = os.path.dirname(os.path.abspath(__file__)) getTrace(sta1, '%s/replayingMobility/node1.dat' % path, net) getTrace(sta2, '%s/replayingMobility/node2.dat' % path, net) getTrace(sta3, '%s/replayingMobility/node3.dat' % path, net) getTrace(sta4, '%s/replayingMobility/node4.dat' % path, net) 'ploting graph' net.plotGraph(max_x=200, max_y=200) info("*** Starting network\n") net.build() c1.start() ap1.start([c1]) replayingMobility(net) info("*** Running CLI\n") CLI_wifi(net) info("*** Stopping network\n") net.stop()
def topology(): "Create a network." net = Mininet_wifi(controller=Controller, accessPoint=UserAP, link=wmediumd, wmediumd_mode=interference) info("*** Creating nodes\n") cars = [] for id in range(0, 10): cars.append(net.addCar('car%s' % (id + 1), wlans=2, encrypt='wpa2,')) e1 = net.addAccessPoint('e1', ssid='vanet-ssid', mac='00:00:00:11:00:01', mode='g', channel='1', passwd='123456789a', encrypt='wpa2', position='2600,3400,0') e2 = net.addAccessPoint('e2', ssid='vanet-ssid', mac='00:00:00:11:00:02', mode='g', channel='6', passwd='123456789a', encrypt='wpa2', position='2800,3400,0') e3 = net.addAccessPoint('e3', ssid='vanet-ssid', mac='00:00:00:11:00:03', mode='g', channel='11', passwd='123456789a', encrypt='wpa2', position='3000,3400,0') e4 = net.addAccessPoint('e4', ssid='vanet-ssid', mac='00:00:00:11:00:04', mode='g', channel='1', passwd='123456789a', encrypt='wpa2', position='2600,3200,0') e5 = net.addAccessPoint('e5', ssid='vanet-ssid', mac='00:00:00:11:00:05', mode='g', channel='6', passwd='123456789a', encrypt='wpa2', position='2800,3200,0') e6 = net.addAccessPoint('e6', ssid='vanet-ssid', mac='00:00:00:11:00:06', mode='g', channel='11', passwd='123456789a', encrypt='wpa2', position='3000,3200,0') c1 = net.addController('c1') info("*** Configuring Propagation Model\n") net.setPropagationModel(model="logDistance", exp=3.5) info("*** Configuring wifi nodes\n") net.configureWifiNodes() net.addLink(e1, e2) net.addLink(e2, e3) net.addLink(e3, e4) net.addLink(e4, e5) net.addLink(e5, e6) for car in cars: net.addLink(car, intf=car.params['wlan'][1], cls=mesh, ssid='mesh-ssid', channel=5) net.useExternalProgram(program=sumo, port=8813, config_file='map.sumocfg') info("*** Starting network\n") net.build() c1.start() e1.start([c1]) e2.start([c1]) e3.start([c1]) e4.start([c1]) e5.start([c1]) e6.start([c1]) for car in cars: car.setIP('192.168.0.%s/24' % (int(cars.index(car)) + 1), intf='%s-wlan0' % car) car.setIP('192.168.1.%s/24' % (int(cars.index(car)) + 1), intf='%s-mp1' % car) # Track the position of the nodes #nodes = net.cars + net.aps #net.telemetry(nodes=nodes, data_type='position', # min_x=2500, min_y=2500, # max_x=4000, max_y=4000) info("*** Running CLI\n") CLI_wifi(net) info("*** Stopping network\n") net.stop()
def topology(): "Create a network." net = Mininet_wifi(controller=Controller, link=wmediumd, wmediumd_mode=interference, noise_threshold=-91, fading_coefficient=0) info("*** Creating nodes\n") ap1 = net.addAccessPoint('ap1', ssid='new-ssid', mode='a', channel='36', position='15,30,0') net.addStation('sta1', mac='00:00:00:00:00:02', ip='10.0.0.1/8', position='10,20,0') net.addStation('sta2', mac='00:00:00:00:00:03', ip='10.0.0.2/8', position='20,50,0') net.addStation('sta3', mac='00:00:00:00:00:04', ip='10.0.0.3/8', position='20,60,10') c1 = net.addController('c1') info("*** Configuring Propagation Model\n") net.setPropagationModel(model="logDistance", exp=4) info("*** Configuring wifi nodes\n") net.configureWifiNodes() net.plotGraph(max_x=100, max_y=100) info("*** Starting network\n") net.build() c1.start() ap1.start([c1]) info("*** Running CLI\n") CLI_wifi(net) info("*** Stopping network\n") net.stop()
def topology(mob): "Create a network." net = Mininet_wifi() #link=wmediumd, wmediumd_mode=interference) info("*** Creating nodes\n") if mob: sensor1 = net.addSensor('sensor1', ip='2001::1/64') sensor2 = net.addSensor('sensor2', ip='2001::2/64') sensor3 = net.addSensor('sensor3', ip='2001::3/64', position='10,150,0') else: sensor1 = net.addSensor('sensor1', ip='2001::1/64', position='10,50,0') sensor2 = net.addSensor('sensor2', ip='2001::2/64', position='10,100,0') sensor3 = net.addSensor('sensor3', ip='2001::3/64', position='10,150,0') info("*** Configuring nodes\n") net.configureWifiNodes() info("*** Associating Nodes\n") net.addLink(sensor1, cls=SixLowpan, panid='0xbeef') net.addLink(sensor2, cls=SixLowpan, panid='0xbeef') net.addLink(sensor3, cls=SixLowpan, panid='0xbeef') net.plotGraph(max_x=200, max_y=200) if mob: net.startMobility(time=0, repetitions=1) net.mobility(sensor1, 'start', time=1, position='40.0,30.0,0.0') net.mobility(sensor2, 'start', time=2, position='40.0,40.0,0.0') net.mobility(sensor1, 'stop', time=12, position='175.0,25.0,0.0') net.mobility(sensor2, 'stop', time=22, position='55.0,31.0,0.0') net.stopMobility(time=23) info("*** Starting network\n") net.build() info("*** Running CLI\n") CLI_wifi(net) info("*** Stopping network\n") net.stop()
def topology(): "Create a network." cwd = os.getcwd() net = Mininet_wifi() info("*** Creating nodes\n") sta1 = net.addStation( 'sta1', wpasup_flags='-dd > /tmp/debug1.txt', wpasup_globals='eapol_version=2', encrypt='wpa2', config='key_mgmt=WPA-EAP,' 'identity="*****@*****.**",' 'ssid="simplewifi",' 'eap=TLS,' 'scan_ssid=1,' 'ca_cert="{}/examples/eap-tls/CA/ca.crt",' 'client_cert="{}/examples/eap-tls/CA/client.crt",' 'private_key="{}/examples/eap-tls/CA/client.key"'.format( cwd, cwd, cwd)) sta2 = net.addStation( 'sta2', wpasup_flags='-dd > /tmp/debug2.txt', wpasup_globals='eapol_version=2', encrypt='wpa2', config='key_mgmt=WPA-EAP,' 'scan_ssid=1,' 'identity="*****@*****.**",' 'eap=TLS,' 'ssid="simplewifi",' 'ca_cert="{}/examples/eap-tls/CA/ca.crt",' 'client_cert="{}/examples/eap-tls/CA/client.crt",' 'private_key="{}/examples/eap-tls/CA/client.key"'.format( cwd, cwd, cwd)) ap1 = net.addAccessPoint( 'ap1', ssid="simplewifi", hostapd_flags='-dd > /tmp/hostapd.txt', mode="g", channel="1", failMode="standalone", datapath='user', config='eap_server=1,' 'ieee8021x=1,' 'wpa=2,' 'eap_message=howdy,' 'eapol_version=2,' 'wpa_key_mgmt=WPA-EAP,' 'logger_syslog=-1,' 'logger_syslog_level=0,' 'ca_cert={}/examples/eap-tls/CA/ca.crt,' 'server_cert={}/examples/eap-tls/CA/server.crt,' 'private_key={}/examples/eap-tls/CA/server.key,' 'eap_user_file={}/examples/eap-tls/eap_users'.format( cwd, cwd, cwd, cwd), isolate_clients=True) info("*** Configuring wifi nodes\n") net.configureWifiNodes() info("*** Associating Stations\n") net.addLink(sta1, ap1) net.addLink(sta2, ap1) info("*** Starting network\n") net.build() ap1.start([]) info("*** Adding openflow wireless rule : ") # For wireless isolation hack. Put a normal flow in there so stations # can ping each other ap1.cmd('ovs-ofctl add-flow ap1 "priority=10,actions=in_port,normal"') info("\n*** Try the following at the CLI \n") info("sta1 ping sta2 \n") info("/tmp/debug*.txt and /tmp/hostapd.txt contain logs \n") info( "cat /var/log/syslog | grep hostapd shows you if the authentication succeeded\n" ) CLI_wifi(net) info("*** Stopping network\n") net.stop()
def topology(args): "Create a network." net = Mininet_wifi(link=wmediumd, wmediumd_mode=interference) info("*** Creating nodes\n") if '-a' in args: sta1 = net.addStation('sta1', position='10,10,0', range=100) sta2 = net.addStation('sta2', position='50,10,0', range=100) sta3 = net.addStation('sta3', position='90,10,0', range=100) else: sta1 = net.addStation('sta1', ipv6='fe80::1', position='10,10,0') sta2 = net.addStation('sta2', ipv6='fe80::2', position='50,10,0') sta3 = net.addStation('sta3', ipv6='fe80::3', position='90,10,0') net.setPropagationModel(model="logDistance", exp=4) #net.plotGraph(max_x=300, max_y=300) info("*** Configuring wifi nodes\n") net.configureWifiNodes() info("*** Creating links\n") # MANET routing protocols supported by proto: babel, batman and olsr if 'babel' in args or 'batman' in args or 'olsr' in args: proto = args[1] net.addLink(sta1, cls=adhoc, ssid='adhocNet', proto=proto, mode='g', channel=5, ht_cap='HT40+') net.addLink(sta2, cls=adhoc, ssid='adhocNet', proto=proto, mode='g', channel=5) net.addLink(sta3, cls=adhoc, ssid='adhocNet', proto=proto, mode='g', channel=5, ht_cap='HT40+') else: net.addLink(sta1, cls=adhoc, ssid='adhocNet', mode='g', channel=5, ht_cap='HT40+') net.addLink(sta2, cls=adhoc, ssid='adhocNet', mode='g', channel=5) net.addLink(sta3, cls=adhoc, ssid='adhocNet', mode='g', channel=5, ht_cap='HT40+') info("*** Starting network\n") net.build() info("*** Addressing...\n") #sta1.setIPv6('2001::1/64', intf="sta1-wlan0") #sta2.setIPv6('2001::2/64', intf="sta2-wlan0") #sta3.setIPv6('2001::3/64', intf="sta3-wlan0") info("*** Running CLI\n") CLI_wifi(net) info("*** Stopping network\n") net.stop()
def topology(): "Create a network." net = Mininet_wifi(link=wmediumd, wmediumd_mode=interference) info("*** Creating nodes\n") sta1 = net.addStation('sta1', ip='10.0.0.1/8', position='10,10,0', channel='161') sta2 = net.addStation('sta2', ip='10.0.0.2/8', position='20,20,0', channel='161') info("*** Configuring Propagation Model\n") net.setPropagationModel(model="logDistance", exp=3.5) net.setModule('./mac80211_hwsim.ko') info("*** Configuring wifi nodes\n") net.configureWifiNodes() net.plotGraph(max_x=200, max_y=200) info("*** Starting WiFi Direct\n") net.addLink(sta1, cls=ITSLink) net.addLink(sta2, cls=ITSLink) info("*** Starting network\n") net.build() info("*** Running CLI\n") CLI_wifi(net) info("*** Stopping network\n") net.stop()
def topology(): "Create a network." net = Mininet_wifi(controller=Controller, link=TCLink, switch=OVSKernelSwitch) info("*** Creating nodes\n") sta1 = net.addStation('sta1', mac='00:00:00:00:00:02', ip='10.0.0.2/8') ap1 = net.addAccessPoint('ap1', ssid='new-ssid', mode='g', channel='1', position='50,50,0') c1 = net.addController('c1', controller=Controller) info("*** Configuring wifi nodes\n") net.configureWifiNodes() info("*** adding Link\n") net.addLink(sta1, ap1) info("*** Starting network\n") net.build() c1.start() ap1.start([c1]) net.plotGraph(max_x=100, max_y=100) path = os.path.dirname(os.path.abspath(__file__)) getTrace(sta1, '%s/replayingBandwidth/throughputData.dat' % path) replayingBandwidth(net) info("*** Running CLI\n") CLI_wifi(net) info("*** Stopping network\n") net.stop()
def topology(mobility): 'Create a network.' net = Mininet_wifi(link=wmediumd, wmediumd_mode=interference) info("*** Creating nodes\n") if mobility: sta1 = net.addStation('sta1', mac='00:00:00:00:00:01', ip='192.168.0.1/24') else: sta1 = net.addStation('sta1', mac='00:00:00:00:00:01', ip='192.168.0.1/24', position='20,60,0') sta2 = net.addStation('sta2', mac='00:00:00:00:00:02', ip='192.168.1.1/24', position='90,60,0') ap1 = net.addStation('ap1', mac='02:00:00:00:01:00', ip='192.168.0.10/24', position='40,60,0') ap2 = net.addStation('ap2', mac='02:00:00:00:02:00', ip='192.168.1.10/24', position='70,60,0') net.setPropagationModel(model="logDistance", exp=4.5) info("*** Configuring wifi nodes\n") net.configureWifiNodes() ap1.setMasterMode(intf='ap1-wlan0', ssid='ap1-ssid', channel='1', mode='n') ap2.setMasterMode(intf='ap2-wlan0', ssid='ap2-ssid', channel='6', mode='n') info("*** Adding Link\n") net.addLink(ap1, ap2) # wired connection info("*** Plotting Graph\n") net.plotGraph(max_x=120, max_y=120) if mobility: net.startMobility(time=1) net.mobility(sta1, 'start', time=2, position='20.0,60.0,0.0') net.mobility(sta1, 'stop', time=6, position='100.0,60.0,0.0') net.stopMobility(time=7) info("*** Starting network\n") net.build() ap1.cmd('echo 1 > /proc/sys/net/ipv4/ip_forward') ap2.cmd('echo 1 > /proc/sys/net/ipv4/ip_forward') ap1.setIP('192.168.0.10/24', intf='ap1-wlan0') ap1.setIP('192.168.2.1/24', intf='ap1-eth1') ap2.setIP('192.168.1.10/24', intf='ap2-wlan0') ap2.setIP('192.168.2.2/24', intf='ap2-eth1') ap1.cmd('route add -net 192.168.1.0/24 gw 192.168.2.2') ap2.cmd('route add -net 192.168.0.0/24 gw 192.168.2.1') sta1.cmd('route add -net 192.168.1.0/24 gw 192.168.0.10') sta1.cmd('route add -net 192.168.2.0/24 gw 192.168.0.10') sta2.cmd('route add -net 192.168.0.0/24 gw 192.168.1.10') sta2.cmd('route add -net 192.168.2.0/24 gw 192.168.1.10') info("*** Running CLI\n") CLI_wifi(net) info("*** Stopping network\n") net.stop()
def topology(): "Create a network." net = Mininet_wifi() info("*** Creating nodes\n") sta1 = net.addStation('sta1', wifs=3) # 3 wlan added sta2 = net.addStation('sta2') # 1 wlan added ap1 = net.addAccessPoint('ap1', ssid='ssid_1', mode='g', channel='5', failMode="standalone") info("*** Configuring wifi nodes\n") net.configureWifiNodes() info("*** Associating...\n") net.addLink(ap1, sta1) net.addLink(sta1, cls=adhoc, ssid='adhoc1') net.addLink(sta2, cls=adhoc, ssid='adhoc1') info("*** Starting network\n") net.build() ap1.start([]) info("*** Addressing...\n") sta1.setIP('192.168.10.1/24', intf="sta1-wlan1") sta2.setIP('192.168.10.2/24', intf="sta2-wlan0") info("*** Running CLI\n") CLI_wifi(net) info("*** Stopping network\n") net.stop()
def topology(): net = Mininet_wifi() info("*** Creating nodes\n") net.addStation('sta1', mac='00:00:00:00:00:02', ip='10.0.0.1/8', position='30,60,0') net.addStation('sta2', mac='00:00:00:00:00:03', ip='10.0.0.2/8', position='70,30,0') ap1 = net.addAccessPoint('ap1', ssid='new-ssid', mode='g', channel='1', failMode="standalone", position='50,50,0') h1 = net.addHost('h1', ip='10.0.0.3/8') net.setPropagationModel(model="logDistance", exp=4.5) info("*** Configuring wifi nodes\n") net.configureWifiNodes() info("*** Creating links\n") net.addLink(ap1, h1) net.plotGraph(max_x=100, max_y=100) info("*** Starting network\n") net.build() ap1.start([]) info("*** Running CLI\n") CLI_wifi(net) info("*** Stopping network\n") net.stop()
def topology(mobility): "Create a network." net = Mininet_wifi(link=wmediumd, wmediumd_mode=interference) info("*** Creating nodes\n") if mobility: sta1 = net.addStation('sta1') sta2 = net.addStation('sta2') sta3 = net.addStation('sta3') else: sta1 = net.addStation('sta1', position='10,10,0') sta2 = net.addStation('sta2', position='50,10,0') sta3 = net.addStation('sta3', position='90,10,0') info("*** Configuring Propagation Model\n") net.setPropagationModel(model="logDistance", exp=4) info("*** Configuring wifi nodes\n") net.configureWifiNodes() info("*** Creating links\n") net.addLink(sta1, cls=mesh, ssid='meshNet', channel=5, ht_cap='HT40+') #, passwd='thisisreallysecret') net.addLink(sta2, cls=mesh, ssid='meshNet', channel=5, ht_cap='HT40+') #, passwd='thisisreallysecret') net.addLink(sta3, cls=mesh, ssid='meshNet', channel=5, ht_cap='HT40+') #, passwd='thisisreallysecret') if mobility: net.plotGraph(max_x=100, max_y=100) net.startMobility(time=0, model='RandomDirection', max_x=100, max_y=100, min_v=0.5, max_v=0.8, seed=20) info("*** Starting network\n") net.build() info("*** Running CLI\n") CLI_wifi(net) info("*** Stopping network\n") net.stop()