The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]



Индекс форумов
Составление сообщения

Исходное сообщение
"Релиз свободного безопасного VPN-демона GoVPN 3.0"
Отправлено Ivan_83, 06-Май-15 01:13 
>> Моё личное мнение: GO это тормозно, громоздко (в памяти), нифига не переносимо
>> (нельзя взять кусок кода и утащить в ядерный модуль любимой ОС).
> Более того. Зачем??? перетаскивать что-то в ядро? Очевидно я думаю что опять
> же хочется столь критичной (для вас) скорости из-за того что меньше
> дорогих (реально дорогих) переключений контекста программ в процессоре.

Если вы не в курсе - там ещё и копирование данных есть, если всякие хаки не использовать.
Те эти 100 мегабит нужно два раза скопировать: в юзер спейс и обратно.
Но в случае с оверхэдом от GO это сущая ерунда :)


> Но если смотреть
> с точки зрения безопасности, то как-раз из ядра хочется вытаскивать как
> можно больше всего в userspace потому-что надёжнее, спокойнее, более изолировано, в
> случае краха не потянет за собой всё, в случае недобротного модуля/части
> ядра не будет скомпрометировано всё.

Если это VNP концентратор то его единственная задача - гонять шифрованный трафик.
Чем эффективнее он это делает тем лучше.
Нет особой разницы, в данном случае, будет проблема в ядре или в приложении, ибо результат один - проникновение в VPN (чужих пакетов), в худшем случае.


> Если вам надо решить проблему производительности,
> а мне безопасности -- то надо удешевить переключение контекста. Опять же
> вы готовы затратить кучу времени на написание сложной под-вопросом качества ядерной
> части, которая сильно ставит под вопрос безопасность системы, вместо того чтобы
> вынести в userspace, продвигать микроядерные ОС. В чём проблема?

В том, что код на GO.
В том, что у меня нет проблем с тем, чтобы запихать что то в ядро и убедится что оно не валится.
Те я вот в этом всём смысла не вижу совсем, какие то надуманные проблемы.


> Наверное в
> том что Intel имеет крайне убогую архитектуру в которой контекст это
> очень дорого. В отличии от RISC систем где например тот же
> QNX не проседал на 50% из-за переключений контекста. Вам нужна скорость.

При работе в ядре тоже нет никаких проседаний.
Но виноват интел, потому что мы не хотим писать на сях и складывать это в ядерный модуль.
Очень удобная позиция.


> Мне, моим целям -- безопасность. Userspace это бОльшая гарантия того что
> в случае краха оно не потянет за собой остальное. Плюс userpace
> это опять же портируемо: работаем с TAP как с файлом и
> радуемся, а не пишем с совершенно разным API куски кода ради
> экономии переключения контекста. Кстати любопытны абсолютные величины чего мы сэкономим.

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

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

Примерно так и устроен mpd5 во фре, который жуёт гигабиты трафика от тысяч юзеров.
И accel-ppp (или как он там сейчас) тоже ядерный.

 

Ваше сообщение
Имя*:
EMail:
Для отправки ответов на email укажите знак ! перед адресом, например, !user@host.ru (!! - не показывать email).
Более тонкая настройка отправки ответов производится в профиле зарегистрированного участника форума.
Заголовок*:
Сообщение*:
 
При общении не допускается: неуважительное отношение к собеседнику, хамство, унизительное обращение, ненормативная лексика, переход на личности, агрессивное поведение, обесценивание собеседника, провоцирование флейма голословными и заведомо ложными заявлениями. Не отвечайте на сообщения, явно нарушающие правила - удаляются не только сами нарушения, но и все ответы на них. Лог модерирования.



Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру