Низкая производительность склеивания по 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, поэтому это не проблема протокола.

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

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

3 ответа

Решение

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

"Если у вас есть сетевой канал с низкой пропускной способностью, то легко соединить несколько параллельных каналов, чтобы создать комбинированный канал с более высокой пропускной способностью, но если у вас есть сетевой канал с плохой задержкой, то никакие деньги не смогут превратить любое их количество в ссылку с хорошей задержкой." @ Это Латентность, Глупый, Стюарт Чешир, май 1996.

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

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

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

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

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

Другие вопросы по тегам