Задать вопрос
@myskypesla

Как сделать скорость до 1 Гбит?

Куда идти и как можно решить эту задачу?
  • Вопрос задан
  • 813 просмотров
Подписаться 3 Простой 5 комментариев
Пригласить эксперта
Ответы на вопрос 8
CityCat4
@CityCat4
Жил да был черный кот за углом...
С такой постановкой задачи - в Спортлото.

Обьяснить, почему скорость в 1Gb недостижима или сами поймете? (Про то, что кроме хетценра есть масса других провайдеров я уже и не говорю :D )
Ответ написан
@SunTechnik
Подбор vps по параметрам:
https://poiskvps.ru/index.php

Но, то что у Вас канал 1Gb/s и Вы заказали vps с 1Gb/s, не означает что лично у Вас получится получить такую скорость связи с vps,так как какие каналы окажутся посередине и степень их загрузки - предсказать невозможно.

Если не рассматривать, что 1Kb/s это то же - до 1Gb/s, то в общем виде задача решения не имеет.
Ответ написан
smorman
@smorman
When In Rome do as The Romans do...
У меня известный дойч-хостер с Гиговым проходом VPS, так максимум, что я добиваюсь таких скоростей, например через:
- Nekoray (VLESS+Reality) 350-390 Mbps
- v2rayN (HTTP+VLESS+Reality) 430-490 Mbps
- WG+Wstunnel 180-240 Mbps

Поэтому про Гиг скорости через VPN/Proxy ну фантастик!
Ответ написан
@pfg21
ex-турист
купить сервер с каналом от 2,5 ГБ/с и выше :) накладные расходы такие с**ка накладные....
Ответ написан
@Drno
Ищешь хостера с нужными параметрами
ставишь впн
пользуешься
Ответ написан
Комментировать
b1ora
@b1ora
Контакты в профиле
Гарантированный канал никто не даст на VDS/VPS/Облаке

Это покупается именно канал с требуемыми скоростями, но получить их все равно сложно, т.к. промежуточные операторы ничего не знают про твой "гарантированный" канал.
Ответ написан
Комментировать
@rPman
Без использования шифрования, простейший socat туннель tcp4 -> tun может обеспечить на слабеньком десктопном железе 2.5гбит (только что протестировал с localhost на i5-12600 нагружая 1 ядро), на более мощном думаю и 5-6гбит можно получить.

Если ядер много, можно запустить несколько туннелей и объединить в bond (я понимаю что это шаткая конструкция, но зато все штатными средствами linux без танцев с бубном) и главное утилизировать по максимуму железо.

Соответственно дальше решай вопрос как и чем промежуточно шифровать этот канал, у socat есть способы указать приложение и направить трафик через его std пайпы.

Вообще то выше гигабита это 'премиальный сектор'? 10г и выше уже требуют специализированные железки
Ответ написан
Комментировать
dyuriev
@dyuriev
A posteriori
Не хотел отвечать на данный вопрос, так как обычно в низкой скорости VPN винят кого угодно, кроме как себя, не желающего разобраться в техчасти, но да ладно.

0. Я, будучи гражданином РФ, за использование VPN в законных целях (например, защита соединения до рабочего места при удаленной работе), и против использования для подрывной деятельности и связи с запрещенными экстремисткими, террористическими и прочими плохими организациями.

1. Для начала для быстрого VPN надо определиться скорость до куда измерять будете.
Если вам необходимо быстро скачивать файлы с условного сервера Москве, а вы находитесь в Нижневартовске, то брать для этой задачи виртуальную машину в Германии - вздор. Изучите свои потребности и берите под VPN машину/вычислительные ресурсы так, чтобы скорость от вас до этой машины была не меньше необходимой, а так же от машины до целевого сервера, откуда вы собираетесь что-то скачивать с большими скоростями, так же не меньше необходимой.
При этом убедитесь, что в принципе этот удаленный сервер имеет достаточно быстрый канал. Если он подключен с физлинком в 100мбит, то 1гбит вы из этого соединения никогда не выжмите.

2. Дальше важно правильно выбрать софт
OpenVPN - это классика, но он без DCO имеет кучу накладных расходов, ибо работает в user-space. Но с DCO он работает либо с шифрованием chacha20/poly1305, либо AES-GCM
WG - он уже работает в пространстве ядра, но только с Chacha20/poly1305
по остальным программным реализациям сами пробегитесь, там скорее всего плюс минус эти же алгоритмы увидите.

3. Что не так с шифрованиями Chacha20/poly1305 и AES-GCM?
Все с ними так, но
Chacha20/poly1305 - тупо программные алгоритмы, приемлемо и даже относительно бодро работают на слабом железе, но 1гбит/с чтобы выжать - нужен шустрый процессор. Аппаратного ускорения тут нет, и если процессор чем то параллельно подгрузить - скорость VPN соединения будет проседать заметно.
AES-GCM - на первый взгляд отличный выбор. Аппаратное ускорение AES есть чуть ли не у каждого второго утюга на рынке. Но вот этот GCM - вот там проблема. Тут еще аппаратно надо ускорить GHASH, но с ним уже проблемы, его просто так взять и ускорить не получится, ибо в нем кроется 128-битная математика в поля Галуа.
Но благо уже давно есть инструкция PCLMULQDQ - но и тут подстава, она работает с 64-битными полями. Так что костылить придется, либо в 4 итерации, либо в 3. За вас все накостылили давно, но от этого не легче, когда надо выжать большие скорости.
В ARMv8 процессорах та же фигня - там есть PMULL, но суть ровно та же.

На помощь реально приходит AVX-512, который далеко не у каждого процессор поддерживает, но там VPCLMULQDQ - то что доктор прописал для GHASH

4. Что делать?
Если со скоростями физлинка все просто, то с выбором шифрования уже есть над чем подумать:

вариант А: убедиться, что клиент и сервер VPN поддерживают AVX-512 и инструкцию VPCLMULQDQ и использовать OpenVPN с DCO и шифрованием AES-GCM (128/192/256 - для скорости тут не важно)
вариант Б: при наличии аппаратного ускорения AES, но без AVX-512 искать программную реализацию, которая работает на уровне ядра и которой достаточно AES-CTR или AES-CBС.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы