本博客总结了examples文件下面的例子的用法,需要注意的事项以及今后编码需要用到的技巧。有些例子经过了自己的改动。
例1 4address
IEEE 802.11 (WLAN)帧的报头有四个地址字段。为了在无线分配系统(WDS)链路上透明地传输以太网数据包,IEEE 802.3(以太网)帧被封装在IEEE 802.11 (WLAN)帧中。在这种情况下,所有四个地址字段都被使用
•以太网帧的发送方
•以太网帧的接收器
•WLAN帧的发送器
•WLAN帧的接收器
以太网帧的发送方和接收方仅从传输的以太网帧复制。其余的字段允许接收方识别帧是为他准备的,并允许它向(WLAN)发送方确认帧的接收。然而,通常只需要这四个字段中的三个,因此大多数驱动程序不知道如何处理使用所有四个地址字段的帧。换句话说:WDS最重要的组成部分是支持4个地址头。
#!/usr/bin/python
"""This example shows how to enable 4-address
Warning: It works only when network manager is stopped"""
from mininet.node import Controller
from mininet.log import setLogLevel, info
from mn_wifi.link import wmediumd, _4address
from mn_wifi.cli import CLI_wifi
from mn_wifi.net import Mininet_wifi
from mn_wifi.wmediumdConnector import interference
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", mod"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"