下载安装Virtualbox Virtualbox中加载mininet镜像 MININET部分指令以及其用法总结 $ sudo mn --topo=single,3 --mac --switch=ovsk --controller=remote,IP=192.168.56.1 (例子) 运行mininet 并创建一个简单的拓扑(1 个switch,3 个host); 创建的host 拥有的MAC 地址相当于独立的IP,OpebFlow switch 拥有3 个端口; 创建的switch 连接到remote 控制器上。 以下为一些简单但是很有用的指令: mininet > node 查看 mininet 中结点的状态。 mininet > help 获取帮助列表。 mininet > h1 ifconfig 查看 host1 的IP 等信息。 mininet > xterm h1 打开 host 1 的终端。 mininet > exit 退出 mininet 登录。 dpctl 使用和说明 dpctl 是一个可以分配、修改和管理流表的功能指令,指令格式为: $ dpctl 比较常用的有: 显 示 基 本 信息 dpctl show tcp::6634 显 示 流表 dpctl dump-flow s tcp::6634 添加流表 dpctl add-flow tcp:127.0.0.1:6634 in_port=2,idle_timeout=360, actions=output:3 使用MININET 创建拓扑结构 MININET 支持用参数表示的拓扑结构,通过简单的几行 Python 代码就可以建立相当灵活的拓扑结构,下面给出一个简单的例子: from mininet.topo import Topo from mininet.net import Mininet from mininet.util import dumpNodeConnections from mininet.log import setLogLevel class SingleSwitchTopo(Topo): "交换机连接到host 上" def __init__(self, n=2, **opts): # 初始化拓扑和默认选项 Topo.__init__(self, **opts) switch = self.addSwitch('s1') # Python 的范围函数 range(N) 生成 0...N-1 for h in range(n): host = self.addHost('h%s' % (h + 1)) self.addLink(host, switch) def simpleTest(): "创建简单的测试网络" topo = SingleSwitchTopo(n=4) net = Mininet(topo) net.start() print "显示 host 连接关系" dumpNodeConnections(net.hosts) print "测试网络连通性 " net.pingAll() net.stop() if __name__ == '__main__': # Tell mininet to print useful information setLogLevel('info') simpleTest() 重要的类、方法、函数和变量包括在上面的代码; Topo: Mininet 基本的拓扑类; addSwi...