Sdn 具有多个接口以将数据包转发到下一跳的主机

Sdn 具有多个接口以将数据包转发到下一跳的主机,sdn,mininet,Sdn,Mininet,我正在尝试在Mininet上使用多接口主机,并从h1-h2进行ping(拓扑可以从附图中看到)。如果我在S1有流量规则,可以通过第三个输出端口发送数据包,直接发送到S2交换机,就可以了。但是,如果我尝试将数据包更改为跟随连接到h3的S1的第二个输出端口,则数据包无法通过S2 我可以从h1 ping到h3,或者从h1 ping到h4。类似地,来自h2-h3和h2-h4。但不是h1-h2,如果我想在路线上使用h3和h4。我将每个主机的路由分配为: h3.cmd("sudo ip route add

我正在尝试在Mininet上使用多接口主机,并从h1-h2进行ping(拓扑可以从附图中看到)。如果我在S1有流量规则,可以通过第三个输出端口发送数据包,直接发送到S2交换机,就可以了。但是,如果我尝试将数据包更改为跟随连接到h3的S1的第二个输出端口,则数据包无法通过S2

我可以从h1 ping到h3,或者从h1 ping到h4。类似地,来自h2-h3和h2-h4。但不是h1-h2,如果我想在路线上使用h3和h4。我将每个主机的路由分配为:

h3.cmd("sudo ip route add 192.168.10.1 dev h3-eth1")
 h3.cmd("sudo echo 1 > /proc/sys/net/ipv4/ip_forward")
 h3.cmd("echo 1 > /proc/sys/net/ipv4/conf/all/proxy_arp")
还将主机的配置更改为:

h3.cmd("sudo ip route add 192.168.10.1 dev h3-eth1")
 h3.cmd("sudo echo 1 > /proc/sys/net/ipv4/ip_forward")
 h3.cmd("echo 1 > /proc/sys/net/ipv4/conf/all/proxy_arp")
我配置了每个接口的IP地址,并在启动Mininet后进行了检查。 我的简单拓扑:

我面临的问题是什么?有人有主意吗