Example #1
0
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()
Example #2
0
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()
Example #3
0
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()
Example #4
0
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()
Example #5
0
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()
Example #6
0
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()