def topology(): "Create a network." net = Mininet( controller=Controller, link=TCLink, switch=OVSKernelSwitch ) print "*** Creating nodes" car1 = net.addVehicle( 'car1', wlans=2, mac='00:00:00:00:00:01', ip='10.0.0.1/8', min_speed=1, max_speed=5 ) car2 = net.addVehicle( 'car2', wlans=2, mac='00:00:00:00:00:02', ip='10.0.0.2/8', min_speed=5, max_speed=10 ) car3 = net.addVehicle( 'car3', mac='00:00:00:00:00:03', ip='10.0.0.3/8', min_speed=10, max_speed=15 ) car4 = net.addVehicle( 'car4', mac='00:00:00:00:00:04', ip='10.0.0.4/8', min_speed=15, max_speed=20 ) car5 = net.addVehicle( 'car5', mac='00:00:00:00:00:05', ip='10.0.0.5/8', min_speed=15, max_speed=20 ) bs1 = net.addBaseStation( 'BS1', ssid= 'new-ssid1', mode= 'g', channel= '1' ) bs2 = net.addBaseStation( 'BS2', ssid= 'new-ssid2', mode= 'g', channel= '6' ) bs3 = net.addBaseStation( 'BS3', ssid= 'new-ssid3', mode= 'g', channel= '11' ) c1 = net.addController( 'c1', controller=Controller ) print "*** Associating and Creating links" net.addMesh(car1, ssid='mesh') net.addMesh(car2, ssid='mesh') net.addMesh(car3, ssid='mesh') net.addMesh(car4, ssid='mesh') net.addMesh(car5, ssid='mesh') net.addLink(bs1, bs2) net.addLink(bs1, bs3) print "*** Starting network" net.build() c1.start() bs1.start( [c1] ) bs2.start( [c1] ) bs3.start( [c1] ) """uncomment to plot graph""" net.plotGraph(max_x=500, max_y=500) """Number of Roads""" net.roads(4) """Seed""" net.seed(20) """Start Mobility""" net.startMobility(startTime=0) print "*** Running CLI" CLI( net ) print "*** Stopping network" net.stop()
def topology(): print "Create a network." net = Mininet(controller=Controller, link=TCLink, accessPoint=OVSKernelAP) print "*** Creating nodes" cars = [] nodes = [] print "***Creating nodes" h1 = net.addHost('h1', mac='00:00:00:11:00:01', ip='10.0.0.1/8') nodes.append(h1) s1 = net.addSwitch('s1', mac='00:00:00:11:00:02') nodes.append(s1) for x in range(0, 5): cars.append(x) for x in range(0, 5): min_ = random.randint(1, 4) max_ = random.randint(11, 30) cars[x] = net.addCar('car%s' % (x + 1), wlans=1, ip='10.0.0.%s/8' % (x + 1), min_speed=min_, max_speed=max_, range=100) #nodes.append(car[x]) 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') c1 = net.addController('c1', controller=Controller) print "*** Configuring Propagation Model" net.propagationModel(model="logDistance", exp=4.5) print "*** Configuring wifi nodes" net.configureWifiNodes() print "*** Associating and Creating links" net.addLink(s1, h1) net.addLink(rsu11, s1) net.addLink(rsu12, s1) net.addLink(rsu13, s1) for x in range(0, 5): net.addLink('car%s' % (x + 1), rsu11) net.plotGraph(max_x=500, max_y=500) net.roads(10) net.startMobility(time=20) print "*** Starting network" net.build() c1.start() rsu11.start([c1]) rsu12.start([c1]) rsu13.start([c1]) #rsu14.start([c1]) print('*** set flow tables ***\n') #call(["sudo", "bash","fa_ft.sh"]) i = 201 for sw in net.carsSW: sw.start([c1]) os.system('ip addr add 10.0.0.%s dev %s' % (i, sw)) i += 1 i = 1 j = 2 k = 1 for car in cars: car.setIP('192.168.0.%s/24' % k, intf='%s-wlan0' % car) car.setIP('192.168.1.%s/24' % i, intf='%s-eth1' % car) car.cmd('ip route add 10.0.0.0/8 via 192.168.1.%s' % j) i += 2 j += 2 k += 1 i = 1 j = 2 for carsta in net.carsSTA: carsta.setIP('10.0.0.%s/24' % i, intf='%s-mp0' % carsta) carsta.setIP('192.168.1.%s/24' % j, intf='%s-eth2' % carsta) #May be confuse, but it allows ping to the name instead of ip addr carsta.setIP('10.0.0.%s/24' % i, intf='%s-wlan0' % carsta) carsta.cmd('echo 1 > /proc/sys/net/ipv4/ip_forward') i += 1 j += 2 for carsta1 in net.carsSTA: i = 1 j = 1 for carsta2 in net.carsSTA: if carsta1 != carsta2: carsta1.cmd('route add -host 192.168.1.%s gw 10.0.0.%s' % (j, i)) i += 1 j += 2 print "*** Running CLI" CLI(net) print "*** Stopping network" net.stop()
def topology(): global car1_new global car2_new global car3_new global car4_new car1_new = '' car2_new = '' car3_new = '' car4_new = '' "Create a network." net = Mininet(controller=RemoteController, link=TCLink, switch=OVSKernelSwitch) print "*** Creating nodes" car = [] stas = [] for x in range(0, 4): car.append(x) stas.append(x) for x in range(0, 4): min = random.randint(20, 40) max = random.randint(40, 60) car[x] = net.addCar('car%s' % (x + 1), wlans=1, ip='10.0.0.%s/8' % (x + 1), min_speed=min, max_speed=max, range=100) rsu11 = net.addAccessPoint('RSU11', ssid='RSU11', mode='g', channel='1', range=200, ip='192.168.0.11') rsu12 = net.addAccessPoint('RSU12', ssid='RSU12', mode='g', channel='6', range=200, ip='192.168.0.12') rsu13 = net.addAccessPoint('RSU13', ssid='RSU13', mode='g', channel='11', range=200, ip='192.168.0.13') rsu14 = net.addAccessPoint('RSU14', ssid='RSU14', mode='g', channel='1', range=200, ip='192.168.0.14') rsu15 = net.addAccessPoint('RSU15', ssid='RSU15', mode='g', channel='6', range=200, ip='192.168.0.15') c1 = net.addController('c1', controller=RemoteController, ip='192.168.56.107') print "*** Configuring wifi nodes" net.configureWifiNodes() net.meshRouting('custom') print "*** Associating and Creating links" net.addLink(rsu11, rsu12, bw=0.7, loss=2, delay='25ms') net.addLink(rsu12, rsu15, bw=1, loss=3, delay='10ms') net.addLink(rsu13, rsu15, bw=1, loss=2, delay='10ms') net.addLink(rsu13, rsu14, bw=5, loss=2, delay='5ms') net.addLink(rsu11, rsu14, bw=0.7, loss=8, delay='25ms') net.addLink(rsu11, rsu13, bw=0.7, loss=2, delay='25ms') net.addLink(rsu12, rsu14, bw=0.7, loss=8, delay='25ms') net.addLink(rsu11, rsu15, bw=0.7, loss=5, delay='25ms') net.addLink(rsu14, rsu15, bw=0.7, loss=6, delay='25ms') net.addLink(rsu12, rsu13, bw=5, loss=3, delay='5ms') print "*** Starting network" net.build() c1.start() rsu11.start([c1]) rsu12.start([c1]) rsu13.start([c1]) rsu14.start([c1]) rsu15.start([c1]) i = 201 for sw in net.vehicles: sw.start([c1]) os.system('ifconfig %s 10.0.0.%s' % (sw, i)) i += 1 """uncomment to plot graph""" net.plotGraph(max_x=1000, max_y=1000) """Number of Roads""" net.roads(6) """Start Mobility""" net.startMobility(startTime=0) i = 1 j = 2 k = 1 for c in car: c.cmd('ifconfig %s-wlan0 192.168.0.%s/24 up' % (c, k)) c.cmd('ifconfig %s-eth0 192.168.1.%s/24 up' % (c, i)) c.cmd('ip route add 10.0.0.0/8 via 192.168.1.%s' % j) i += 2 j += 2 k += 1 i = 1 j = 2 for v in net.vehiclesSTA: v.cmd('ifconfig %s-eth0 192.168.1.%s/24 up' % (v, j)) v.cmd('ifconfig %s-mp0 10.0.0.%s/24 up' % (v, i)) v.cmd('echo 1 > /proc/sys/net/ipv4/ip_forward') i += 1 j += 2 for v1 in net.vehiclesSTA: i = 1 j = 1 for v2 in net.vehiclesSTA: if v1 != v2: v1.cmd('route add -host 192.168.1.%s gw 10.0.0.%s' % (j, i)) i += 1 j += 2 car1 = car[0] car2 = car[1] car3 = car[2] car4 = car[3] output(car1, car2, car3, car4) print "*** Running CLI" cmdcli = CLI(net) #cmdcli.do_px("print car1.cmd('iwconfig > 1234_py_test.txt')") #CLI( net ) print "*** Stopping network" net.stop()
def topology(): "Create a network." net = Mininet(controller=Controller, link=TCLink, switch=OVSKernelSwitch) print "*** Creating nodes" car = [] stas = [] for x in range(0, 10): car.append(x) stas.append(x) for x in range(0, 10): min = random.randint(1, 10) max = random.randint(11, 30) car[x] = net.addCar('car%s' % (x + 1), wlans=1, ip='10.0.0.%s/8' % (x + 1), min_speed=min, max_speed=max, range=50) rsu11 = net.addAccessPoint('RSU11', ssid='RSU11', mode='g', channel='1', range=100) rsu12 = net.addAccessPoint('RSU12', ssid='RSU12', mode='g', channel='6', range=100) rsu13 = net.addAccessPoint('RSU13', ssid='RSU13', mode='g', channel='11', range=100) rsu14 = net.addAccessPoint('RSU14', ssid='RSU14', mode='g', channel='11', range=100) c1 = net.addController('c1', controller=Controller) print "*** Configuring wifi nodes" net.configureWifiNodes() net.meshRouting('custom') print "*** Associating and Creating links" net.addLink(rsu11, rsu12) net.addLink(rsu11, rsu13) net.addLink(rsu11, rsu14) print "*** Starting network" net.build() c1.start() rsu11.start([c1]) rsu12.start([c1]) rsu13.start([c1]) rsu14.start([c1]) i = 201 for sw in net.vehicles: sw.start([c1]) os.system('ifconfig %s 10.0.0.%s' % (sw, i)) i += 1 """uncomment to plot graph""" net.plotGraph(max_x=500, max_y=500) """Number of Roads""" net.roads(20) """Start Mobility""" net.startMobility(startTime=0) i = 1 j = 2 k = 1 for c in car: c.cmd('ifconfig %s-wlan0 192.168.0.%s/24 up' % (c, k)) c.cmd('ifconfig %s-eth0 192.168.1.%s/24 up' % (c, i)) c.cmd('ip route add 10.0.0.0/8 via 192.168.1.%s' % j) i += 2 j += 2 k += 1 i = 1 j = 2 for v in net.vehiclesSTA: v.cmd('ifconfig %s-eth0 192.168.1.%s/24 up' % (v, j)) v.cmd('ifconfig %s-mp0 10.0.0.%s/24 up' % (v, i)) v.cmd('echo 1 > /proc/sys/net/ipv4/ip_forward') i += 1 j += 2 for v1 in net.vehiclesSTA: i = 1 j = 1 for v2 in net.vehiclesSTA: if v1 != v2: v1.cmd('route add -host 192.168.1.%s gw 10.0.0.%s' % (j, i)) i += 1 j += 2 print "*** Running CLI" CLI(net) print "*** Stopping network" net.stop()
def topology(): "Create a network." net = Mininet(controller=Controller, link=TCLink, switch=OVSKernelSwitch, enable_wmediumd=True, enable_interference=True) print "*** Creating nodes" cars = [] for x in range(0, 10): cars.append(x) for x in range(0, 10): min_ = random.randint(1, 4) max_ = random.randint(11, 30) cars[x] = net.addCar('car%s' % (x + 1), wlans=1, ip='10.0.0.%s/8' % (x + 1), min_speed=min_, max_speed=max_, range=50) rsu11 = net.addAccessPoint('RSU11', ssid='RSU11', mode='g', channel='1', range=100) rsu12 = net.addAccessPoint('RSU12', ssid='RSU12', mode='g', channel='6', range=100) rsu13 = net.addAccessPoint('RSU13', ssid='RSU13', mode='g', channel='11', range=100) rsu14 = net.addAccessPoint('RSU14', ssid='RSU14', mode='g', channel='11', range=100) c1 = net.addController('c1', controller=Controller) print "*** Configuring Propagation Model" net.propagationModel(model="logDistance", exp=4.5) print "*** Configuring wifi nodes" net.configureWifiNodes() print "*** Associating and Creating links" net.addLink(rsu11, rsu12) net.addLink(rsu11, rsu13) net.addLink(rsu11, rsu14) net.plotGraph(max_x=500, max_y=500) net.roads(10) net.startMobility(time=0) print "*** Starting network" net.build() c1.start() rsu11.start([c1]) rsu12.start([c1]) rsu13.start([c1]) rsu14.start([c1]) i = 201 for sw in net.carsSW: sw.start([c1]) os.system('ip addr add 10.0.0.%s dev %s' % (i, sw)) i += 1 i = 1 j = 2 k = 1 for car in cars: car.setIP('192.168.0.%s/24' % k, intf='%s-wlan0' % car) car.setIP('192.168.1.%s/24' % i, intf='%s-eth0' % car) car.cmd('ip route add 10.0.0.0/8 via 192.168.1.%s' % j) i += 2 j += 2 k += 1 i = 1 j = 2 for v in net.carsSTA: v.setIP('192.168.1.%s/24' % j, intf='%s-eth0' % v) v.setIP('10.0.0.%s/24' % i, intf='%s-mp0' % v) v.cmd('echo 1 > /proc/sys/net/ipv4/ip_forward') i += 1 j += 2 for v1 in net.carsSTA: i = 1 j = 1 for v2 in net.carsSTA: if v1 != v2: v1.cmd('route add -host 192.168.1.%s gw 10.0.0.%s' % (j, i)) i += 1 j += 2 print "*** Running CLI" CLI(net) print "*** Stopping network" net.stop()
def topology(): "Create a network." net = Mininet(controller=Controller, link=TCLink, switch=OVSKernelSwitch) print "*** Creating nodes" car1 = net.addVehicle('car1', wlans=2, mac='00:00:00:00:00:01', ip='10.0.0.1/8', min_speed=1, max_speed=5) car2 = net.addVehicle('car2', wlans=2, mac='00:00:00:00:00:02', ip='10.0.0.2/8', min_speed=5, max_speed=10) car3 = net.addVehicle('car3', mac='00:00:00:00:00:03', ip='10.0.0.3/8', min_speed=10, max_speed=15) car4 = net.addVehicle('car4', mac='00:00:00:00:00:04', ip='10.0.0.4/8', min_speed=15, max_speed=20) car5 = net.addVehicle('car5', mac='00:00:00:00:00:05', ip='10.0.0.5/8', min_speed=15, max_speed=20) bs1 = net.addBaseStation('BS1', ssid='new-ssid1', mode='g', channel='1') bs2 = net.addBaseStation('BS2', ssid='new-ssid2', mode='g', channel='6') bs3 = net.addBaseStation('BS3', ssid='new-ssid3', mode='g', channel='11') c1 = net.addController('c1', controller=Controller) print "*** Associating and Creating links" net.addMesh(car1, ssid='mesh') net.addMesh(car2, ssid='mesh') net.addMesh(car3, ssid='mesh') net.addMesh(car4, ssid='mesh') net.addMesh(car5, ssid='mesh') net.addLink(bs1, bs2) net.addLink(bs1, bs3) print "*** Starting network" net.build() c1.start() bs1.start([c1]) bs2.start([c1]) bs3.start([c1]) """uncomment to plot graph""" net.plotGraph(max_x=500, max_y=500) """Number of Roads""" net.roads(4) """Seed""" net.seed(20) """Start Mobility""" net.startMobility(startTime=0) print "*** Running CLI" CLI(net) print "*** Stopping network" net.stop()