Назад | Перейти на главную страницу

Плохая производительность соединения по 2 связанным каналам vpn

У меня есть две машины Linux, которые я хочу подключить через связанную ссылку.

Одна машина имеет два UMTS-модема (DN: 5 Мбит UL: 1,2 Мбит) в качестве шлюзов, а другая машина имеет оптоволокно (DL: 100 Мбит UL: 20 Мбит) в качестве шлюза.

Я могу успешно создать 2 канала OpenVPN (по одному для каждого модема UMTS, используя правила iptables) и применить к этим каналам драйвер связывания Linux (режим 0, циклическое распределение).

Все идет нормально. Связанный интерфейс соединяет две машины Linux через два агрегированных канала VPN, по которым я могу пинговать каждую машину, передавать файлы и т. Д. И т. Д.

Моя проблема - это пропускная способность облигации. Теоретически пропускная способность должна удвоиться, но на самом деле она остается неизменной, независимо от количества VPN-соединений внутри связи.

На машине с двумя модемами UMTS, когда я использую только одну VPN, я могу подключиться к другой машине с пропускной способностью около DN: 5 Мбит UL: 1,2 Мбит. При использовании 2 VPN внутри связного интерфейса пропускная способность на канал близка к DN: 2,5 Мбит UL: 0,6 Мбит, поэтому общая полоса пропускания одинакова, использую ли я один или оба канала VPN.

Такое поведение происходит, когда я передаю данные с использованием TCP или UDP, поэтому это не проблема протокола.

Кто-нибудь еще испытал это?

Заранее спасибо.

Наконец я нашел (очевидную) причину проблемы.

"Если у вас есть сетевой канал с низкой пропускной способностью, то легко подключить несколько параллельно, чтобы создать комбинированный канал с более высокой пропускной способностью, но если у вас есть сетевой канал с плохой задержкой, никакие деньги не смогут превратить любое их количество. в ссылку с хорошей задержкой ". @ It's the Latency, Stupid, Стюарт Чешир, май 1996 года.

Поскольку задержка VPN составляет около 110 мс, максимальная пропускная способность канала будет около 4,8 Мбит / с (согласно http://bradhedlund.com/2008/12/19/how-to-calculate-tcp-throughput-for-long-distance-links/)

Чтобы проверить это, я провел тест на практике: я снизил пропускную способность каждого модема UMTS до 2 Мбит / с DL и 1,2 Мбит / с UL (формирование трафика с помощью wondershaper), в результате чего агрегированная пропускная способность составила 3,65 Мбит / с DL и 2 Мбит / с UL.

Итак, я могу использовать соединение VPN, если агрегированная пропускная способность не превышает максимальную пропускную способность, обусловленную задержкой, иначе это будет пустой тратой ресурсов.

Я сомневаюсь, что обратный трафик с данными балансируется между ссылками, поэтому рекомендую сначала проверить скорость восходящего канала на связанном интерфейсе.

Почему бы вам просто не увеличить размер окна TCP, как сказано в вашей ссылке? Если вы увеличите размер вдвое, вы сможете достичь желаемой пропускной способности.