qq_31798427 2017-05-07 15:04 采纳率: 0%
浏览 2724
已结题

mininet实现fattree,控制器的问题

图片说明
#!/usr/bin/python

from mininet.topo import Topo
from mininet.net import Mininet
from mininet.util import irange,dumpNodeConnections
from mininet.log import setLogLevel
from mininet.node import RemoteController
from mininet.node import CPULimitedHost
from mininet.link import TCLink
import os

class FatTopo(Topo):
"Linear topology of k switches, with one host per switch."

def __init__(self, k=4, **opts):
    """Init.
    k: number of pods of fat tree"""

    super(FatTopo, self).__init__(**opts)
    self.k = 4
    for i in irange(0,3):
        self.addSwitch('s%s'% i)
    for i in irange(0,3):
        for j in irange(0,3):
            self.addHost('h%s%s'%(i,j))
            self.addSwitch('s%s%s'% (i,j))
    for i in irange(0,3):
        self.addLink("h%s0"% i,"s%s0"% i)   
        self.addLink("h%s1"% i,"s%s0"% i)
        self.addLink("h%s2"% i,"s%s1"% i)
        self.addLink("h%s3"% i,"s%s1"% i)
        self.addLink("s%s2"% i,"s%s0"% i)   
        self.addLink("s%s3"% i,"s%s0"% i)
        self.addLink("s%s2"% i,"s%s1"% i)
        self.addLink("s%s3"% i,"s%s1"% i)
        self.addLink("s%s2"% i,"s0")    
        self.addLink("s%s2"% i,"s1")
        self.addLink("s%s3"% i,"s2")
        self.addLink("s%s3"% i,"s3")

def simpleTest():
"Create and test a simple network"
topo =FatTopo(k=4)
net = Mininet( topo, controller=RemoteController)
net.addController( 'c0', controller=RemoteController, ip='192.168.132.147', port=6633 )
#net=Mininet(topo)
net.start()
net.pingAll()

if name == '__main__':
# Tell mininet to print useful information
setLogLevel('info')
simpleTest()

我想用mininet实现一个fattree的网络结构,代码如上,问题在于由于fattree中存在loop,默认的控制器貌似有点问题会出现ping不通的情况,查过资料后发现pox控制器可以处理loop的情况,于是尝试去用pox的控制器,但仍然ping不通。
想问下如何用mininet实现fattree结构。我理解的是在sdn里面,所有路由器一开始就是空的,如何转发只取决于控制器下发的流表,所以mininet写的python脚本只需要把网络拓扑搭好,剩余部分都在控制器那边实现,不知道这么理解是否正确,望指教。
网上的fattree的代码都看了下,好像一般的也就把拓扑搭好了,也没有什么特殊的处理,希望各位大牛能详细解释下fattree里面下发流表的部分
  • 写回答

1条回答 默认 最新

  • C_L_A_Y 2017-05-14 09:01
    关注
    评论

报告相同问题?

悬赏问题

  • ¥15 如何在scanpy上做差异基因和通路富集?
  • ¥20 关于#硬件工程#的问题,请各位专家解答!
  • ¥15 关于#matlab#的问题:期望的系统闭环传递函数为G(s)=wn^2/s^2+2¢wn+wn^2阻尼系数¢=0.707,使系统具有较小的超调量
  • ¥15 FLUENT如何实现在堆积颗粒的上表面加载高斯热源
  • ¥30 截图中的mathematics程序转换成matlab
  • ¥15 动力学代码报错,维度不匹配
  • ¥15 Power query添加列问题
  • ¥50 Kubernetes&Fission&Eleasticsearch
  • ¥15 報錯:Person is not mapped,如何解決?
  • ¥15 c++头文件不能识别CDialog