python - Mininet_wifi iperf 与一台服务器和多个客户端
问题描述
我有这个 mininet-wifi 拓扑脚本
def topology(args):
"Create a network."
net = Mininet_wifi(controller=RemoteController, roads=10,
link=wmediumd, wmediumd_mode=interference)
info("*** Creating nodes\n")
for id in range(0, 10):
min_ = randint(1, 4)
max_ = randint(11, 30)
net.addCar('car%s' % (id+1), wlans=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='1')
rsu14 = net.addAccessPoint('RSU14', ssid='RSU14', mode='g', channel='6')
#c1 = net.addController('c1')
c1 = net.addController('c1', controller=RemoteController, ip='172.17.0.2', port=6633)
c2 = net.addController('c2', controller=RemoteController, ip='172.17.0.3', port=6633)
c3 = net.addController('c3', controller=RemoteController, ip='172.17.0.4', port=6633)
info("*** Configuring Propagation Model\n")
net.setPropagationModel(model="logDistance", exp=3)
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 net.cars:
net.addLink(car, intf='%s-wlan1' % car,
cls=mesh, ssid='mesh-ssid', channel=5)
if '-p' not in args:
net.plotGraph(max_x=1000, max_y=1000)
net.startMobility(time=0)
info("*** Starting network\n")
net.build()
c1.start()
c2.start()
c3.start()
rsu11.start([c1])
rsu12.start([c1])
rsu13.start([c2])
rsu14.start([c3])
for id, car in enumerate(net.cars):
car.setIP('192.168.0.%s/24' % (id+1), intf='%s-wlan0' % car)
car.setIP('192.168.1.%s/24' % (id+1), intf='%s-mp1' % car)
我尝试过这种方式来测试一台服务器和另外两个客户端之间的连接性
car1,car2,car3= net.get('car1','car2','car3')
car1.cmd('iperf -s -e -u --histogram=100u,2000 --realtime &')
car2.cmd('iperf -c 192.168.0.1 --isochronous=60:100m,10m -i1 -u -e --realtime > server.txt')
car3.cmd('iperf -c 192.168.0.1 --isochronous=60:100m,10m -i1 -u -e --realtime >> server.txt')
p=Popen('''cat server.txt | grep % | tr , " " | awk '{print $10" "$11" "$13" "$16" "$17}' >> test.txt''', shell=True,
stdout=PIPE, stderr=PIPE)
它运行良好,但是,现在我想car1
在 for 循环中测试作为服务器和所有其他汽车作为客户端之间的连接性。任何人都可以帮助我吗?
解决方案
推荐阅读
- wordpress - 联系表格 7 重定向问题
- math - 带 RoundingMode.HALF_UP 的 DecimalFormat
- vb.net - 直接流式方法 CopyTo 找不到结尾
- jsf - JSF SelectOneRadio PrimeFaces javax.el.PropertyNotFoundException:目标无法到达
- java - Java 从 USB 条形码扫描仪获取输入
- javascript - 如何使用 Google Chart 更改图例中的背景颜色?
- java - 将 Jackson、@JsonIdentityInfo 和 @JsonDeserialize 与 lombok Builder 一起使用时出现 MismatchedInputException
- mysql - 谷歌SQL副本需要上传视图的程序和功能
- mysql - woocommerce 在 Wordpress 中重复执行 mysql
- android - RecyclerView match_parent 中带有 HorizontalScrollview 的自定义视图不起作用