建立主机之间的TCP连接

Establish TCP connection between hosts

如果我指定的控制器在两台主机之间ping通,是否可以通过Mininet在它们之间建立TCP连接?我 mininet>h0 ping h4 成功了,但是 ping 只是 ICMP 数据包而不是 TCP!!

谢谢

如果 ping 正常,您可以尝试 iperf,它将测试 TCP 上的带宽(阅读此处 https://github.com/mininet/mininet/wiki/Bufferbloat#part-3-streaming-video---sketch-the-tcp-cwnd-and-buffer-occupancy) 您还可以尝试在某些主机上的 mininet 上设置一个简单的 http 服务器,该服务器将站在 TCP 之上。

mininet> h1 python -m SimpleHTTPServer 80 &
mininet> h2 wget -O - h1

以上两个都应该工作并为您提供 TCP 连接

您应该首先使用以下命令检查启用主机之间通信的规则(假设开关是 s1):

mininet> ovs-ofctl dump-flows s1

并检查与流条目匹配的 IP 协议 字段。对于 TCP,对于 UDP,该值应为 6、17,对于 ICMP,该值应为 1。您可以在此处查看所有协议编号:http://www.iana.org/assignments/protocol-numbers/protocol-numbers.xhtml

在某些情况下 link 的延迟非常高是不可能的。然后 SYN 数据包不会在 TCP 超时内得到 ACK。例如,尝试在具有 3 台主机的 mininet 中使用线性拓扑,并且 link 延迟为 3000ms(--link=tc,delay=3000ms)。在这种情况下,您的 ping 将起作用,但 tcp iperf 不起作用。