Jump to content

Recommended Posts

Posted (edited)

Друзья, нетиповая задача, может кто сталкивался.

 

Все мы знаем, что TCP очень сильно деградирует от задержки + потерь.

Есть задача прокинуть как-то HTTP из США в Сибирь, чтобы обеспечить хорошую скорость доступа к ресурсам без недостатков TCP.

Смотрю на SCTP, но что-то не могу найти поддержку в Nginx, хотя в Apache есть. Если кто-то сталкивался, есть идеи, буду рад услышать.

Edited by dignity
Posted

то что можно инкапсуляцию сделать, понятно. Я пока ищу готовое решение какого-либо туннеля. Инкапсулятор писать лениво... Его же поддерживать придется)) Кроме того, надо будет делать либо на уровня ядра с поддержкой маршрутизации и какого-то tun интерфейса, либо держать несколько туннелей, для каждого порта, условно.

Posted

Друзья, нетиповая задача, может кто сталкивался.

 

Все мы знаем, что TCP очень сильно деградирует от задержки + потерь.

Есть задача прокинуть как-то HTTP из США в Сибирь, чтобы обеспечить хорошую скорость доступа к ресурсам без недостатков TCP.

Смотрю на SCTP, но что-то не могу найти поддержку в Nginx, хотя в Apache есть. Если кто-то сталкивался, есть идеи, буду рад услышать.

 

 

Не думаю, что sctp или же что-то анологичное сильно поможет , все таки большой джиттер и потери фундаментальная проблема.

Posted

Туннель между США и Сибирью не поможет?

Расстояние, разумеется, не сократится, но "путь" для ТСР будет "ближе" хотя бы из-за меньшего кол-ва хопов.

Posted

SSTP suffers from the same performance limitations as any other IP-over-TCP tunnel. In general, performance will be acceptable only as long as there is sufficient excess bandwidth on the un-tunneled network link to guarantee that the tunneled TCP timers do not expire. If this becomes untrue, performance falls off dramatically. This is known as the "TCP meltdown problem"[5][6]

 

Это из википедии. Сам не сталкивался.

 

Похоже, вы не очень поняли что мне надо)) мне надо разогнать tcp на длинном канале.

 

Кэширование не подходит. Трафик некэшируемый.

Posted (edited)

Не совсем понял, при чем тут всякие SSTP, если честно.... От них delay что ли уменьшится? :)

 

Для разгона TCP знаю только 2 средства:

1. Wan оптимизаторы, как Cisco Waas, Riverbed и т.д. Дорого.

2. Использование tcp window scaling, т.е. расширенное TCP window >> 65k. Все современные ОС по сути это должны уметь. А если не хотят в конкретном случае использовать - надо копать почему, и принуждать к этому. Например в WinXP/2003 надо в реестре включать - правда работает все равно хуже последних.

Edited by -Pave1-
Posted

то что можно инкапсуляцию сделать, понятно. Я пока ищу готовое решение какого-либо туннеля. Инкапсулятор писать лениво... Его же поддерживать придется)) Кроме того, надо будет делать либо на уровня ядра с поддержкой маршрутизации и какого-то tun интерфейса, либо держать несколько туннелей, для каждого порта, условно.

 

Можно придумать что-то вроде

withsctp netcat | netcat

Posted

2. Использование tcp window scaling, т.е. расширенное TCP window >> 65k. Все современные ОС по сути это должны уметь. А если не хотят в конкретном случае использовать - надо копать почему, и принуждать к этому. Например в WinXP/2003 надо в реестре включать - правда работает все равно хуже последних.

Не, не подходит)) представьте что клиент - обычный домашний хомяк из США, зачем его принуждать.

Posted (edited)

Не, не подходит)) представьте что клиент - обычный домашний хомяк из США, зачем его принуждать.

Ну тогда только коммерческий WAN оптимизатор, находящийся "рядом" с этим самым хомячком - и никак иначе...

Никаких других путей нет - что ни городи. Т.к. если delay > 10ms и ширина окна 65k - то время проведенное в ожидании подтверждения о приеме данных будет много больше времени непосредственно передачи данных... Тут как бы врожденное ограничение TCP:

http://bradhedlund.com/2008/12/19/how-to-calculate-tcp-throughput-for-long-distance-links/

Edited by -Pave1-
Posted

Spdy поможет, наверное), просто параллельно пытаюсь не прикладной протокол найти, а транспортный. Похоже, кроме congestion алгоритмов tcp без вариантов. Буду пробовать с yeah.

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.

×
×
  • Create New...
На сайте используются файлы cookie и сервисы аналитики для корректной работы форума и улучшения качества обслуживания. Продолжая использовать сайт, вы соглашаетесь с использованием файлов cookie и с Политикой конфиденциальности.