Низкая производительность склеивания по 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, как сказано в вашей ссылке? Если вы удвоите размер, вы сможете достичь желаемой пропускной способности.