LINUX.ORG.RU

openVPN vs Vtun


0

0

сбсно сабж. хотя ответ очевиден.

недавно разбирался с их сорцами на предмет, как они
жмут UDP траффик. Оказалось, что Vtun "чихает" на MTU.
Правильно ли это? И, вообще, что с ними стало?

Ответ на: комментарий от capricorn20

> имеется IPsec

на самом деле много чего есть ...
про IPsec говорят, "проблемы" с NATом и компрессией

Valeriy_Onuchin ★★
() автор топика
Ответ на: комментарий от Deleted

> В каком смысле?

на сколько я понял (from src) у них размер UDP buffera не зависит 
от MTU,  а ограничен 65K, что должно приводить к фрагментации при
перессылке, т.е. при потере фрагмента должен теряться весь UDP buffer
(ведь он LZO compressed)  +  потеря network performance.

в openVPN всё сделано более-менее "правильно"

Valeriy_Onuchin ★★
() автор топика
Ответ на: комментарий от MiracleMan

> OpenVPN предпочтительнее

101% согласен. Предполагаю, что Vtun "загнулся" из-за
того, что появился Опен.

Valeriy_Onuchin ★★
() автор топика
Ответ на: комментарий от Valeriy_Onuchin

> в openVPN всё сделано более-менее "правильно"

btw, оказалось не совсем "правильно".
Поясняю:
- есть входной буффер, скажем 100Kb
- его надо скомпрессовать на "чанки" размером
  максимально приближающиеся, но не превышающие MTU (~1.5Kb) 
- openVPN пользует LZO

но, в LZO есть только одна возможность компрессии
compress(int in_len, uchar *inbuf, int out_len, uchar *outbuf)

а надо бы иметь:

compress2chunk(int chunk_len, int in_len, uchar *inbuf, int out_len, uchar *outbuf, int used_inlen)

где,
- chunk_len - желаемый размер выходного скомпрессированного буффера (MTU)
- далее, как в обычном compress
- used_inlen - сколько байтов из входного буффера было "потрачено",
  чтобы получить выходной чанк размером chunk_len


Всё это можно сделать немного "поправив" внутренности LZO.

Конечно, отсюда можно легко получить то, что в openVPN
называется "adaptive compression". Это если входной буффер
не хочет компрессоватья, то его никто и не компрессует.

Не "замутить ли" патчец для "_так_понравившегося_":) openVPN?




Valeriy_Onuchin ★★
() автор топика
Ответ на: комментарий от Valeriy_Onuchin

вообще-то, толку от компрессии маленьких буфферов (<10К)
почти никакой. Ну, скомпрессует дай Б. в 2ку ...
может, как ещё один уровень "прятанья" данных?

Valeriy_Onuchin ★★
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.