The OpenNET Project
 
Поиск (ключи):    ПРОГРАММЫ СТАТЬИ СОВЕТЫ ФОРУМ
  WIKI НОВОСТИ (+) MAN'ы ДОКУМЕНТАЦИЯ

Решение проблемы с uTP-протоколом uTorrent
По многочисленным наблюдениям системных администраторов различных компаний
предоставляющих доступ к сети интернет, с начала февраля 2010 года наблюдается
ежедневный лавинообразный рост количества пакетов в сети, их фрагментация, а
также существенный рост исходящего трафика. Данная проблема связана с новой
версией торрент-клиента uTorrent вышедшего 3 февраля 2010 года с поддержкой
протокола uTP, работающего поверх UDP. Призванный снизить нагрузку на
провайдеров протокол uTP в результате привел к обратному эффекту.

Для относительно безболезненной для клиента фильтрации uTP на шлюзе под
управлением Linux рекомендуется использовать следующее правило:

   /sbin/iptables -I FORWARD -m udp -p udp -m string --hex-string "|7F FF FF FF AB|" --algo kmp \
      --from 40 --to 44 -m statictic --mode random --probability 0.90 -j DROP

Мониторинг работы правила:

   iptables -L FORWARD -nv | grep statist

Для FreeBSD правило будет выглядеть следующим образом:

   ngctl mkpeer ipfw: bpf 2 main
   ngctl name ipfw:2 utp_filter
   ngctl msg utp_filter: setprogram { thisHook=\"main\" ifMatch=\"\" ifNotMatch=\"main\" bpf_prog_len=12 bpf_prog=[ 
      { code=48 jt=0 jf=0 k=0 } { code=84 jt=0 jf=0 k=240 } { code=21 jt=0 jf=8 k=64 } { code=48 jt=0 jf=0 k=9 } 
      { code=21 jt=0 jf=6 k=17 } { code=40 jt=0 jf=0 k=6 } { code=69 jt=4 jf=0 k=8191 } { code=177 jt=0 jf=0 k=0 } 
      { code=64 jt=0 jf=0 k=20 } { code=21 jt=0 jf=1 k=2147483647 } { code=6 jt=0 jf=0 k=65535 } { code=6 jt=0 jf=0 k=0 } ] }

   ipfw add 2 netgraph 2 udp from any to any iplen 0-128

Мониторинг:

   ngctl msg utp_filter: getstats \"main\"
 
03.03.2010 , Автор: Zzz , Источник: http://forum.nag.ru/forum/index.php...
Раздел:    Корень / Администратору / Сетевая подсистема, маршрутизация / Проблемы работы сети

Обсуждение [ Линейный режим | Показать все | RSS ]
 
  • 1.1, Денис Юсупов, 17:56, 04/03/2010 [ответить] [смотреть все]
  • +1 +/
    Кто-нибудь смог расшифровать этот фильтр BPF? ;))
     
     
  • 2.16, Аноним, 19:35, 08/03/2010 [^] [ответить] [смотреть все] [показать ветку]
  • +/
    инопланетяне какие алиены писали ЭТО ... весь текст скрыт [показать] [показать ветку]
     
     
  • 3.17, hizel, 16:57, 09/03/2010 [^] [ответить] [смотреть все]  
  • +/
    есть транслятор в опкод bpf http citrin ru freebsd ng_ipfw_ng_bpf... весь текст скрыт [показать]
     
  • 1.2, Mike, 18:59, 04/03/2010 [ответить] [смотреть все]  
  • +1 +/
    После этого кто-то ещё может наезжать на iptables?
     
     
  • 2.3, Аноним, 20:42, 04/03/2010 [^] [ответить] [смотреть все] [показать ветку]  
  • +/
    Согласен Сравните текущий iptables , реализованный на Red Hat и его клонах ... весь текст скрыт [показать] [показать ветку]
     
  • 2.4, аноним, 21:26, 04/03/2010 [^] [ответить] [смотреть все] [показать ветку]  
  • +/
    это нетграф, по сравнению с ним возможности iptables весьма игрушечны, но за сло... весь текст скрыт [показать] [показать ветку]
     
     
  • 3.13, User294, 06:38, 07/03/2010 [^] [ответить] [смотреть все]  
  • +/
    Вы уж извините конечно, но у айпитаблеса - при взгляде на этот рулес сразу более... весь текст скрыт [показать]
     
     
  • 4.20, ABC, 12:10, 11/03/2010 [^] [ответить] [смотреть все]  
  • +/
    Не надо плакать, такие вещи обычно генерируются, а не пишутся вручную ... весь текст скрыт [показать]
     
     
  • 5.23, User294, 23:22, 11/03/2010 [^] [ответить] [смотреть все]  
  • +/
    Мне в таком случае кажется логичным приводить описалово как сие сгенерячено, есл... весь текст скрыт [показать]
     
  • 2.18, Pahanivo, 08:51, 10/03/2010 [^] [ответить] [смотреть все] [показать ветку]  
  • +/
    если вы ничего не понимаете в ядерном синтезе, это вовсе не значит что он плох ... весь текст скрыт [показать] [показать ветку]
     
     ....нить скрыта, показать (6)

  • 1.5, Денис Юсупов, 23:04, 04/03/2010 [ответить] [смотреть все]  
  • +/
    Кстати, после установки этого фильтра под FreeBSD у пользователей начались проблемы с коннектом к Counter-Strike и Counter-Strike Source.
     
  • 1.6, аноним, 04:22, 05/03/2010 [ответить] [смотреть все]  
  • +/
    >Для относительно безболезненной для клиента фильтрации

    А насколько безболезненна такая фильтрация для роутера при, скажем, 200K pps ?

     
     
  • 2.8, Ъ, 08:25, 05/03/2010 [^] [ответить] [смотреть все] [показать ветку]  
  • +1 +/
    80K pps pptp остальное на коммутаторах режится iptables -L FORWARD -nv 124 ... весь текст скрыт [показать] [показать ветку]
     
     
  • 3.14, User294, 06:42, 07/03/2010 [^] [ответить] [смотреть все]  
  • +/
    Интересно каким местом думали мюторентовцы хренача кипы мелких пакетов для толст... весь текст скрыт [показать]
     
  • 1.7, pliskinsad, 07:42, 05/03/2010 [ответить] [смотреть все]  
  • +/
    На цисках

    class-map type access-control match-any Torrent
    match start l3-start offset 40 size 5 regex "\x7F\xFF\xFF\xFF\xAB"

    policy-map type access-control Torrent
      class Torrent
       drop

    interface GigabitEthernet0/0
    service-policy type access-control input Torrent

     
     
  • 2.9, ivb, 14:05, 05/03/2010 [^] [ответить] [смотреть все] [показать ветку]  
  • +/
    На Juniper бы сделать, пока непонятно ... весь текст скрыт [показать] [показать ветку]
     
     
  • 3.10, brzm, 16:25, 05/03/2010 [^] [ответить] [смотреть все]  
  • +/
    А надо? Вроде ж выдерживают ;)
     
     
  • 4.22, Vladimir, 22:27, 11/03/2010 [^] [ответить] [смотреть все]  
  • +/
    у нас фря справляется, а кошка становится очень задумчивой
    правда потерь на канале не появляется
    пришлось фильтр поставить
     
  • 1.11, Дядюшка Ляо, 10:42, 06/03/2010 [ответить] [смотреть все]  
  • +/
    советую засунуть это правило для iptables в таблицу raw, т.е. iptables -t raw -I PREROUTING blbla.

    там оно будет stateless и и гораздо эффективнее.

     
  • 1.12, Аноним, 16:03, 06/03/2010 [ответить] [смотреть все]  
  • +/
    правило для freebsd похоже на ч0рную магию где можно почитать что значат эти зн... весь текст скрыт [показать]
     
     
  • 2.15, аноним, 17:28, 07/03/2010 [^] [ответить] [смотреть все] [показать ветку]  
  • +/
    man bpf
    раздел FILTER MACHINE
     
  • 2.24, meph1st, 10:57, 12/03/2010 [^] [ответить] [смотреть все] [показать ветку]  
  • +/
    http://nuclight.livejournal.com/

    товарищ "разжевывает"

     
  • 1.19, nuclight, 14:00, 10/03/2010 [ответить] [смотреть все]  
  • +/
    Расшифровка фильтра, как и объяснение, как такое писать, тут: http://www.opennet.ru/opennews/art.shtml?num=25733 (там ссылки на два поста)

    А вообще-то он сгенерирован из очень простой командной строки: tcpdump 'udp[40:4]=0x7fffffff'

     
     
  • 2.21, Backspace, 12:39, 11/03/2010 [^] [ответить] [смотреть все] [показать ветку]  
  • +/
    В правиле iptables вместо -m statictic должно быть -m statistic
     
  • 1.25, gb03db, 13:15, 12/03/2010 [ответить] [смотреть все]  
  • +/
    это вообще лишнее :)
    -m statictic --mode random --probability 0.90
     
  • 1.26, Sem, 17:24, 15/03/2010 [ответить] [смотреть все]  
  • +/
    Могли бы для ng_bgp сделать возможность определения программы в виде tcpdump синтаксиса. Одна команда, как я смотрю: cap_compile_nopcap().
    А то же хомячки пугаются.
     
  • 1.27, Maxim_mun, 12:21, 22/03/2010 [ответить] [смотреть все]  
  • +/
    Кто подскажет как на кошках подрезать, пример с верху не прокатывает, нету в матче start и вообще не разобрать пакет по битно.
    Завязли на Старом UBR7114 12.3(9a)
     

    Ваш комментарий
    Имя:         
    E-Mail:      
    Заголовок:
    Текст:

     Добавить заметку
     Версия для печати
     
     Поиск заметки:
     

    Последние заметки
    - 25.01 Использование systemtap для устранения уязвимости в реализации /proc/pid/mem
    - 24.01 Мониторинг загрузки многоядерного сервера по каждому ядру в отдельности в Linux
    - 23.01 Осуществление ОGSM/SMS/USSD вызовов с использованием утилиты mdbus
    - 13.01 Интерактивный firewall в Linux
    - 08.01 Советы по увеличению автономной работы ноутбука с Debian/Ubuntu
    - 31.12 Бэкап и восстановление данных из БД memcachedb и других хранилищ на базе BerkeleyDB
    - 28.12 Получение инкрементальных diff-файлов для subversion
    - 27.12 Решение проблемы поддержки php-zip-extension в Fedora-16
    - 25.12 Настройка сетевого доступа в окружениях QEMU
    - 20.12 Инструкция по запуску Qt-приложений поверх дисплейного сервера Wayland
    RSS | Следующие 15 записей >>


    АКЦИЯ! ПОДПИШИСЬ на журнал Linux Format до 31 января 2012 года и выиграй СУПЕРПРИЗ!

    Журнал "Linux Format" (Линукс Формат)- Единственный в России и странах СНГ журнал на русском языке, посвящённый Linux и свободному ПО. Журнал для IT-директоров, IT-менеджеров, программистов, системных администраторов, учителей школ и преподавателей ВУЗов и всех пользователей ПК. В каждом выпуске: Новости индустрии OpenSource, обзоры новинок свободного ПО, обучающие и методические статьи.

    Каждый, кто оформит подписку, получает бонус- объёмные наклейки на системный блок и подарки: с одним из первых выпусков журнала в 2012 году- диск с архивом номеров за 2005-2011 г.г. и ежемесячно электронную версию журнала в pdf-формате.

    Подробнее о проведении акции вы можете прочитать на странице сайта.


      Закладки на сайте
      Проследить за страницей
    Created 1996-2012 by Maxim Chirkov  
    ДобавитьРекламаВебмастеруГИД  
    RUNNet TopList