Jump to content
Калькуляторы

vpn и мелкие пакеты

возникла задача объединить в единую сеть филиалы, расположенные в разных городах. для этого был поднят openvpn, все работает, но ...

 

основной трафик - очень мелкие пакеты (rdp/ica, voip), openvpn заметно увеличивает трафик (добавляет ~70байт к каждому пакету). для тех филиалов, где оплата за трафик - это попадание на лишние деньги, где за канал - тоже (требуется канал шире).

 

какие есть способы экономить трафик? (другие vpn, сжатие заголовков пакетов, ...)

Share this post


Link to post
Share on other sites

1) какой тип туннеля в openvpn tun/tap?

2) Сжатие средствами самого openvpn.

3) Покапать в мане на openvpn на предмет overhead - там много интересного

 

Идити вы на http://mia.ece.uic.edu/~papers/volans/table.html :-)

это позволит вам выбрать...

 

ЗЫ: если делать какую-то буферизацию (например, написать собственный обработчик ipq в линуксе или, как уже сказали, дивертить), надо поработать с логикой, иначе вырастание задержки критично скажется для VoIP.

Share this post


Link to post
Share on other sites

1 - конечно tun

2 - какое там сжатие, слезы одни... хотя мелкие пакеты все равно несжимаемые

3 - глянул, ничего особо интересно не нашел

 

за ссылку спасибо, буду изучать...

 

насчет буферизации - да я сам про это думал (кстати в терминалке задержка важнее, чем в телефонии - те же сотовые сети зачастую дают бешенную задержку, и ничего разговариваем не замечаем... задержка от нажатия на кнопку до реакции даж в 0,2сек дико раздражает).

 

по идее можно детектировать сессии и для пакетов внутри сессии передавать только изменения между заголовками пакетов (src/dst ip, port и многое другое остается неизменным на протяжении всей сессии, некоторые поля просто увеличиваются на константу в каждом следующем пакете, котрольные суммы можно отбрасывать). afaik для rtp есть даже rfc на сжатие заголовков (ip+udp+rtp).

 

плюс сами шифрованные данные можно не в udp пакетах слать, а raw ip - это ещё несколько байт сэкономит.

 

вопрос в том, что не хочется изобретать велосипед - наверняка есть готовые решения

Share this post


Link to post
Share on other sites

1 - конечно tun

2 - какое там сжатие, слезы одни... хотя мелкие пакеты все равно несжимаемые

3 - глянул, ничего особо интересно не нашел

 

за ссылку спасибо, буду изучать...

 

насчет буферизации - да я сам про это думал (кстати в терминалке задержка важнее, чем в телефонии - те же сотовые сети зачастую дают бешенную задержку, и ничего разговариваем не замечаем... задержка от нажатия на кнопку до реакции даж в 0,2сек дико раздражает).

 

по идее можно детектировать сессии и для пакетов внутри сессии передавать только изменения между заголовками пакетов (src/dst ip, port и многое другое остается неизменным на протяжении всей сессии, некоторые поля просто увеличиваются на константу в каждом следующем пакете, котрольные суммы можно отбрасывать). afaik для rtp есть даже rfc на сжатие заголовков (ip+udp+rtp).

 

плюс сами шифрованные данные можно не в udp пакетах слать, а raw ip - это ещё несколько байт сэкономит.

 

вопрос в том, что не хочется изобретать велосипед - наверняка есть готовые решения

 

Есть, но они достаточно дорогие. Кроме того, у всех них разная эффективность.

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.