怎么免费做一个网站,长沙网站建设制作,表情包制作app,青岛电子商务网站建设控制器是为了更好集中控制网络的行为#xff0c;当然在实际中我们可以根据需要选择是否选择控制器#xff0c;或是结合ovs交换机的特点进行针对性的转发行为设置#xff08;功能需要书写代码进行软件定义#xff09;#xff0c;转发功能需要手工添加流表才能实现 如#…控制器是为了更好集中控制网络的行为当然在实际中我们可以根据需要选择是否选择控制器或是结合ovs交换机的特点进行针对性的转发行为设置功能需要书写代码进行软件定义转发功能需要手工添加流表才能实现 如topo_36.py
#自定义流表无控制器交换机将无法从控制器中自学习到流表需要手动往交换机中添加流表才能使得连接在同一个交换机中的两个主机之间互相通信topo_36.py
from mininet.net import Mininet
from mininet.node import OVSSwitch
from mininet.cli import CLIdef create_topology():net Mininet(switchOVSSwitch)# 添加交换机s1 net.addSwitch(s1)# 添加主机h1 net.addHost(h1)h2 net.addHost(h2)# 添加链路net.addLink(h1, s1,port21)net.addLink(h2, s1,port22)net.start()# 在交换机上下发流表s1.cmd(ovs-ofctl add-flow s1 in_port1,actionsoutput:2)s1.cmd(ovs-ofctl add-flow s1 in_port2,actionsoutput:1)# 在主机之间进行ping测试#h1.cmd(ping -c 3, h2.IP())# 进入Mininet的命令行界面CLI(net)net.stop()if __name__ __main__:create_topology()注意本文涉及的流表设置是采用cmd命令流表与预定义的流数据行为相匹配因此需要与网络拓扑中的端口连接相对应。一般情况下在用net模块创建网络环境时增加连接时如果没有制定连接的端口则按照默认的代码先后顺序进行编号如本文代码中的 net.addLink(h1, s1,port21)指定h1连接在s1的1号端口代码中采用的拓扑如图1