我正在Mininet模拟器中构建自定义拓扑,我成功地创建了图片上显示的拓扑,但是我遇到了h1和h2之间 ping的问题。它们连接到相同的交换机 s1 ,它们位于同一子网中。我只从mininet获得这个输出。
mininet> h1 ping h2
PING 10.0.0.2 (10.0.0.2) 56(84) bytes of data.
From 10.0.0.1 icmp_seq=1 Destination Host Unreachable
在parael终端窗口中,它正在运行POX Controller,它为我提供输出
WARNING:forwarding.l2_learning:Same port for packet from 00:00:00:00:00:02 -> 00:00:00:00:00:01 on 00-00-00-00-00-04.1. Drop.
WARNING:forwarding.l2_learning:Same port for packet from 00:00:00:00:00:02 -> 00:00:00:00:00:01 on 00-00-00-00-00-01.1. Drop.
但是当我用h1构建拓扑时----- s1 ----- h2 ping工作正常
拓扑已正确连接
mininet> net
h1 h1-eth0:s1-eth3
h2 h2-eth0:s1-eth4
h3 h3-eth0:s3-eth3
s1 lo: s1-eth1:s2-eth1 s1-eth2:s4-eth1 s1-eth3:h1-eth0 s1-eth4:h2-eth0
s2 lo: s2-eth1:s1-eth1 s2-eth2:s3-eth1
s3 lo: s3-eth1:s2-eth2 s3-eth2:s4-eth2 s3-eth3:h3-eth0
s4 lo: s4-eth1:s1-eth2 s4-eth2:s3-eth2
答案 0 :(得分:1)
警告消息"数据包的相同端口..."当控制器发现数据包的输入和输出端口相同时出现。在给定配置中,这些消息将出现在交换机S2和S4上。原因是,当H1生成数据包时,控制器没有MAC到端口映射,并且它会将数据包从所有端口(除了接收数据包的端口除外)中泛洪。 S2和S4在端口1上收到数据包,并在端口1上为MAC 00:00:00:00:00:01添加了一个条目。
当H2响应时,S2和S4再次在同一端口1接收到数据包,并根据目的地MAC S2和S4确定输出端口为1.因此,相同的输入和输出端口引起了警告消息。
这些消息不应该在H1和H2之间停止ping工作,因为H1和H2发送的数据包应该由于S1完成洪水而到达目的地。
请检查H1和H2上的ARP条目以及S1上安装的流条目。您可以使用选项--arp运行拓扑脚本,以在主机上配置静态ARP条目。