谷歌云中的 IP 转发非常慢

谷歌云中的 IP 转发非常慢

我已经设置了 GCE 实例(谷歌云)和 EC2 实例(aws),我想像这样设置路由:

AWS-DUB <-A-> GCE-LON <-B-> GCE-TOK <-C-> AWS-TOK

连接 A 是 wireguard VPN。连接 B 是 google cloud 内部网络。连接 C 是 wireguard VPN。

现在,我已经能够按照我想要的方式设置连接,但是带宽性能很差。

以下是使用 iperf 进行带宽测试的示例:

测试 1. GCE-TOK -> AWS-TOK = +200Mbits/s (通过 wireguard) 测试 2. GCE-LON -> GCE-TOK = +95Mbits/s (通过 google 内部网络) 测试 3. GCE-LON -> AWS-TOK = +20Mbits/s

路由设置部分由 Google Cloud Platform、VPC 网络路由以及实例上的路由完成。Iptables 不用于执行任何路由。IP 转发已正确启用。

我们可以看到,测试 3 中的带宽较差。

最明显的区别是测试 1 和 2 都有位于同一子网上的测试服务器和客户端,而在测试 3 中我们有一个额外的跳数。

流量从 GCE-LON(instance-Xcclp-perf.internal(10.158.0.99))路由到 AWS-TOK(172.54.0.229):

On ens4 interface using internal google cloud routing with a route set up for 172.54.0.0/16 with next hop as 10.188.0.4 (TOKYO GCE).

On 10.188.0.4 traffic arrives on ens4, then the route 172.54.0.0/16 dev wg0 forwards the traffic over wireguard ( (Tokyo GCE) 192.168.2.1 -> (AWS Tokyo) 192.168.2.2

(AWS Tokyo) Trafic is routed on 192.168.2.1 to 172.54.0.229 (eth0).

潜伏:

TEST A. GCE-TOK -> AWS-TOK = 4ms 
TEST B. GCE-LON <-> GCE-TOK = 225ms 
TEST C. GCE-LON -> AWS-TOK = 229ms (Adds up correctly)

单独来看,测试 1 和测试 2 中的链中的路由非常快。但是当它们组合在一起时(如测试 3 中所示),它们就变得很慢。我尝试过 MTU、TCP 窗口大小等,但尚未成功。

我知道这里可以提供更多细节,但我认为从这个描述中,有经验的人应该能够参与进来,并给我一些指点,说明为什么我会看到带宽性能如此严重的下降。

所有实例均运行 Ubuntu 16。

谢谢

答案1

最好进行 MTR 测试,检查是否有任何节点存在问题。您可以检查两侧。

从 GCE-LON

$ mtr --report <IP_AWS-TOK> 

来自 AWS-TOK

$ mtr --report <GCE-LON> 

相关内容