我正在尝试使用 Linux ip6tnl 接口在互联网上设置 2 个网络之间的协议 41 隧道。直接在互联网上在 2 个网络之间运行 iperf 可获得大约 900Mbps 的速率,这是应该的。通过隧道运行时,我的吞吐量损失了大约 80%,链路速度下降到 200Mbps。我尝试过使用 fou 的无封装和 udp 封装,但无论哪种方式,性能都是一样的。我正在使用默认设置创建隧道。请参阅下面我使用的命令。
无封装:
ip l a test type ip6tnl local 2001:db8::1 remote 2001:db8:1::1 mode ip6ip6
使用 UDP 封装:
ip l a test type ip6tnl encap fou encap-sport 5555 encap-dport 5555 local 2001:db8::1 remote 2001:db8:1::1 mode ip6ip6
我曾尝试将隧道 MTU 降低到 1280,以确保这不是某种奇怪的 PMTUD 问题,但结果根本没有改变。什么可能导致性能大幅下降,又可以采取什么措施来缓解这种情况?
答案1
这个问题出在我尝试建立隧道的服务器主机上。针对同一主机的不同服务器或完全不同的主机进行测试可以完全解决该问题。