The OpenNET Project / Index page

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

Видео с демонстрацией негативного влияния излишней буферизации на качество работы сети

06.02.2012 15:38

Джим Гетиc (Jim Gettys), член комитета W3C, разработчик спецификации HTTP/1.1 и автор первой реализации системы X Window, подготовил видеоролик с пояснением причин возникновения эффекта "Bufferbloat" и способов борьбы с ним. Под Bufferbloat понимается феномен негативного влияния промежуточной буферизации пакетов на пропускную способность, однородность потока (jitter) и время прохождения пакетов (latency). На практике, предложенные в рамках проекта Bufferbloat методы решения проблем, возникающих из-за излишней буферизации, можно опробовать, воспользовавшись дистрибутивом CeroWrt. В рамках CeroWrt развивается прошивка для беспроводных точек доступа и маршрутизаторов, базирующаяся на наработках OpenWRT и нацеленная на решение насущных проблем с производительностью и безопасностью в сети.

Удешевление памяти приводит к всё более активной буферизации сетевых пакетов в маршрутизаторах и коммутаторах, что сказывается в виде ощутимого снижения эффективности используемых алгоритмов контроля перегрузки (TCP congestion control), в большой степени полагающихся на потери пакетов при расчете доступной пропускной способности. Буферизация затормаживает отбрасывание пакетов, в то время как алгоритм контроля перегрузки все наращивает и наращивает скорость, используя для обратной связи начало потери пакетов. В результате, так как снижения скорости из-за начала потери пакетов вовремя не происходит, алгоритм не может подобрать нужный баланс скорости потока, соотносящийся со скоростью физического линка. При этом чем больше размер буфера, тем больше становится задержка в доставке пакетов, так как реакция алгоритма контроля перегрузки следует только после заполнения буфера.



  1. Главная ссылка к новости (https://gettys.wordpress.com/2...)
  2. OpenNews: Проект по избавлению Linux-ядра от излишней сетевой буферизации
  3. OpenNews: Анализ проблем с буферизацией в современных TCP/IP сетях
  4. OpenNews: Размышления автора X Window о лидирующей позиции свободного десктопа
  5. OpenNews: Компания Google представила рекомендации по ускорению работы TCP
  6. OpenNews: Доступна тестовая версия CeroWrt, ответвления от проекта OpenWRT
Лицензия: CC BY 3.0
Короткая ссылка: https://opennet.ru/33006-bufferbloat
Ключевые слова: bufferbloat, buffer
При перепечатке указание ссылки на opennet.ru обязательно


Обсуждение (23) Ajax | 1 уровень | Линейный | +/- | Раскрыть всё | RSS
  • 1.1, Аноним (-), 16:48, 06/02/2012 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Не с целью проведения опасных аналогий, до которых тут же докопаются местные иксперты, но справедливости для - избыточное кэширование вызывает давно известный тюнерам негативный эффект подобного плана.

    Не удивили.

     
     
  • 2.6, Aztec (?), 20:25, 06/02/2012 [^] [^^] [^^^] [ответить]  
  • +/
    Вам хотели сказать, что промежуточный узел неуспеваючий отправить пакет, должен его дропать, а не отправлять в буфер отправки--- это далеко не очевидное решение. Смысл в том, что наличие таких буферов сбивает с толку алгоритмы маршрутизации.
     
     
  • 3.8, Аноним (-), 21:02, 06/02/2012 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Спасибо, дислексией не страдаю. Я прекрасно понял, что хотели сказать МНЕ.

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

     
     
  • 4.9, Аноним (-), 21:18, 06/02/2012 [^] [^^] [^^^] [ответить]  
  • +/
    > Как бывший тюнер, могу заметить - и провести ту самую параллель - что попытки устранять узкие места, заливая их гигабайтами RAM - всегда было проигрышной политикой.

    При относительно предсказуемых IO операциях с медленным носителем - пуркуа бы и не па?

     
     
  • 5.11, Аноним (-), 21:40, 06/02/2012 [^] [^^] [^^^] [ответить]  
  • +2 +/
    > При относительно предсказуемых IO операциях с медленным носителем - пуркуа бы и не па?

    Потому что трафф или лезет в канал или нет. Ждать полчаса чтобы обломаться - хуже чем обломаться сразу.

     
     
  • 6.15, pavlinux (ok), 22:04, 06/02/2012 [^] [^^] [^^^] [ответить]  
  • +3 +/
    Это как с бабами - не дала, засунул другой. :)

    ---

    Тока бутылкино горлышко тут не в буферах, а алгоритме согласования,
    ибо нефига занижать скорость, если последнем пришедшем TCP пакете
    есть параметр NEXT_FRAME (Next Expected Sequence) (то есть данные ещё будут).
    и наконец впиндюрить алгоритм предсказывания - вот к примеру шли данные
    2000 мс, затем 250 мс таймаут, и так далее: 2000-250, 2000-250,2000-250,2000-250,2000-XXX
    угадайте чему и с какой вероятностью будет равно XXX ?

    ---

    Неделю назад Гугля кричала, что мало данных суём в канал, надо собрать
    не менее 10 пакетов, и только тогда сбрасывать!!!  Кстати тоже вариант
    решения против простоя.

      

     
  • 6.17, Аноним (-), 02:35, 07/02/2012 [^] [^^] [^^^] [ответить]  
  • +/
    > Потому что трафф или лезет в канал или нет. Ждать полчаса чтобы обломаться - хуже чем обломаться сразу.

    Давайте будем различать кэш и буфер. И не будем приводить их как аналогии :)

     
  • 3.16, all_glory_to_the_hypnotoad (ok), 00:18, 07/02/2012 [^] [^^] [^^^] [ответить]  
  • +3 +/
    смысл в том, что произошло разделение уровней абстракций головного мозга в стеке (примерно как в модели OSI), т.е. алгоритм перегрузки не знает что есть буфер, а буфер не знает что есть алгоритм перегрузки. Вот и вся пичаль... нет, сейчас опять кинет людей в крайности, будут искать козла отпущения в буферизации.
     

  • 1.2, Stax (ok), 17:44, 06/02/2012 [ответить] [﹢﹢﹢] [ · · · ]  
  • +1 +/
    Где конкретные советы по поводу того, как тюнить *правильно*? Если роутером у меня обычный линуксовый сервер, а не коробочка.
     
     
  • 2.3, Andrew Kolchoogin (?), 18:35, 06/02/2012 [^] [^^] [^^^] [ответить]  
  • +/
    С точки зрения Интернета проблема глобальна, и должна держаться под контролем всеми.
    Ну что с того, если ты отключишь буфера _вообще_ на своём роутере, если десяток следующих хопов этого не сделает?-)
     
     
  • 3.5, Аноним (-), 18:57, 06/02/2012 [^] [^^] [^^^] [ответить]  
  • +2 +/
    Ну так надо же с чего-то начинать?
     
  • 2.4, Аноним (-), 18:48, 06/02/2012 [^] [^^] [^^^] [ответить]  
  • +4 +/
    > Если роутером у меня обычный линуксовый сервер, а не коробочка.

    Можно подумать в коробочках линь какой-то другой, ага.

     
     
  • 3.7, EuPhobos (ok), 20:28, 06/02/2012 [^] [^^] [^^^] [ответить]  
  • +/
    Ну тот же, а толку? Если он под замком, а для юзера "ковырялку гламурную" сделали через httpd
     
     
  • 4.12, Аноним (-), 21:41, 06/02/2012 [^] [^^] [^^^] [ответить]  
  • +1 +/
    > Ну тот же, а толку? Если он под замком, а для юзера
    > "ковырялку гламурную" сделали через httpd

    Пользуйся нормальными прошивками - будет без замка.

     
     
  • 5.13, EuPhobos (ok), 21:42, 06/02/2012 [^] [^^] [^^^] [ответить]  
  • +/
    >> Ну тот же, а толку? Если он под замком, а для юзера
    >> "ковырялку гламурную" сделали через httpd
    > Пользуйся нормальными прошивками - будет без замка.

    Ну сопсна.. WRT и спасает, пока что..
    Думаю про него и была речь изначально. (про отличае от обычных коробочек)

     
     
  • 6.14, Аноним (-), 21:49, 06/02/2012 [^] [^^] [^^^] [ответить]  
  • +/
    > Ну сопсна.. WRT и спасает, пока что..
    > Думаю про него и была речь изначально. (про отличае от обычных коробочек)

    Ну так вон перцы на ее основе и сгородили тулсень для сетевых экспериментов. Чем оно и хорошо :)


     
  • 3.18, Stax (ok), 05:17, 07/02/2012 [^] [^^] [^^^] [ответить]  
  • +/
    Линь такой же, но про них в новости упомянули - типа, будет модификация OpenWRT, где эти твики сделаны. Готовый бинарник с кнопочкой "download" для энд-юзеров, которые не хотят мучаться с твиками коробочки.

    Поэтому я и спрашиваю - а на полноценных системах, где я готов сам сделать твики, а не ждать, пока дядя выкатит новый бинарник фирмвари - что конкретно делать-то? Это же не секрет, надеюсь?

    ЗЫ кстати вот еще, непонятно - по-моему все практические примеры от этого чувака почти всегда идут с использованием 802.11; какая часть этих проблем *вообще* касается проводных интерфейсов? Или речь постоянно идет про буферы при использовании беспроводных интерфейсов? Последнее объяснило бы, почему так рьяно все время говорят про проблемы на коробочках, про прошивки для них и т.д., и не упоминают про твики для роутеров вообще, где все интерфейсы проводные.

     
     
  • 4.20, Аноним (-), 15:24, 07/02/2012 [^] [^^] [^^^] [ответить]  
  • +/
    > Поэтому я и спрашиваю - а на полноценных системах, где я готов
    > сам сделать твики, а не ждать, пока дядя выкатит новый бинарник
    > фирмвари - что конкретно делать-то? Это же не секрет, надеюсь?

    Та же OpenWRT - вполне полноценная система, ВНЕЗАПНО. То что она использует не х86 - ну и что? Какой даун придумал что компьютер - обязательно х86 и с механическим диском?

     
  • 2.10, Аноним (-), 21:19, 06/02/2012 [^] [^^] [^^^] [ответить]  
  • +/
    > Где конкретные советы по поводу того, как тюнить *правильно*? Если роутером у
    > меня обычный линуксовый сервер, а не коробочка.

    Ждите, пока патчи от борцов с bufferbloat интегрируют в мейнстрим. Сохраняйте спокойствие.

     

  • 1.19, Etch (?), 14:30, 07/02/2012 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    sysctl -w net.ipv4.tcp_congestion_control=veno
     
     
  • 2.21, Stax (ok), 16:37, 07/02/2012 [^] [^^] [^^^] [ответить]  
  • +/
    А где почитать внятное объяснение, чем он лучше cubic? Желательно с каким-нибудь реальным примером или бенчмарком..
     
     
  • 3.22, Etch (?), 08:56, 08/02/2012 [^] [^^] [^^^] [ответить]  
  • +/
    http://book.itep.ru/4/44/tcp.htm
     
     
  • 4.23, Stax (ok), 12:20, 08/02/2012 [^] [^^] [^^^] [ответить]  
  • +/
    OK, теория есть, но никакой информации по сравнению в каких-то реальных условиях или примеров, чем одно лучше другого нет. Превосходство обоих над более базовыми алгоритмами вроде как понятно, но это все, что можно оттуда извлечь.
     
     Добавить комментарий
    Имя:
    E-Mail:
    Текст:



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

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