Networking 如何在Mininet中使用Openflow限制通过主机的流量

Networking 如何在Mininet中使用Openflow限制通过主机的流量,networking,sdn,mininet,openflow,Networking,Sdn,Mininet,Openflow,我用SDN模拟了一个网络,它有3个主机和3个交换机,下面的代码使用Mininet 我想知道如何在模拟流量时阻止某些dest TCP/UDP端口。并且还可以根据需要将某些主机之间的通信量限制在某个值 我已经使用Openflow创建了队列,试图限制队列之间的通信量,但由于某些原因,通信量没有根据我使用Openflow为每个队列设置的最小速率和最大速率进行限制 我正在创建多个交换机,因此每个交换机包含3个队列,速率分别为1GBps、1MBps和512kbps,如下所示: queuecmd = "sud

我用SDN模拟了一个网络,它有3个主机和3个交换机,下面的代码使用Mininet

我想知道如何在模拟流量时阻止某些dest TCP/UDP端口。并且还可以根据需要将某些主机之间的通信量限制在某个值

我已经使用Openflow创建了队列,试图限制队列之间的通信量,但由于某些原因,通信量没有根据我使用Openflow为每个队列设置的最小速率和最大速率进行限制

我正在创建多个交换机,因此每个交换机包含3个队列,速率分别为1GBps、1MBps和512kbps,如下所示:

queuecmd = "sudo ovs-vsctl %s -- --id=@defaultqos create qos
type=linux-htb other-config:max-rate=1000000000
queues=0=@q0,1=@q1,2=@q2 -- --id=@q0 create queue
other-config:max-rate=1000000000  other-config:min-rate=1000000000 --
--id=@q1 create queue other-config:max-rate=1000000
other-config:min-rate=1000000 -- --id=@q2 create queue
other-config:max-rate=512000 other-config:min-rate=512000"
我正在使用以下策略,将
set\u queue
参数设置为我要使用的队列id:

S1H2 = {'switch': "00:00:00:00:00:00:00:01", "name": "S1H2", "cookie": "0",
            "priority": "256", "in_port": "1", "eth_type": "0x800",
"ipv4_src": "10.0.0.1",
            "ipv4_dst": "10.0.0.2", "active": "true", "actions":
"output=2, set_queue=1"}
我试图将速率限制在1MBps,但尽管使用了队列,它还是给了我1GBps的速率。有谁能帮忙吗?谢谢