[Comm] Advanced Routing & QoS

Andy Gorev =?iso-8859-1?q?gorev_=CE=C1_mailru=2Ecom?=
Чт Дек 5 17:41:32 MSK 2002


Andrey Orlov wrote:
>>Дело в том, Андрей, что статья изначально задумывалась как обзор
>>возможностей, с дальнейшей ссылкой на ресурсы с примерами по реализации,
>>а не инструмент для быстрой настройки. Другими словами, это не HOWTO.
> 
> 
> Ну если хотите мое сугубо личное мнение, как человека поддерживающего
> один из пакетов Alt и иногда реагирующего на вопросы пользователей - то
> нет никаких шансов, что пользователь пакета станет читать отвлеченную
> теорию. Даже на пакете масштаба Zope очень хорошо заметно, что
> на открытый исходный код находится спрос когда выделенные
> на проект деньги про-стите-трачены, а показывать заказчику что-то надо. А уж
> узкоспециальный QoS, iproute2 & всякий другой iptables - одназначно, когда припрет.
Согласен с Вами. Есть только одно но. Вы описали как раз тот случай, 
когда эту самую информацию надо добывать. А речь идет  о варианте 
материала в Руководстве Администратора дистрибутива. Только совсем 
ленивому будет не интересно пролистать IMHO самую интересную книжку из 
коробки.

> Даже в методичке альтлинуха написано что "свойством человеческого
> чего-то там является то, что о вопросах безопасности задумываются
> только когда о них можно уже не думать" - я  переврал, но смысл
> примерно такой. Соответственно в этот момент залатать-бы-чбы-не-потонуть, а теорию
Вот именно, за это деньги платят тех-поддержке, а не с коленки делают по 
рецептам из книжки. Любое решение нужно опробовать, прежде чем внедрять 
окончательно. А когда "тонут", скорее работает принцип "хоть бы 
как-нибудь работало", чем "это работает не так как я думал".

> потом почитать можно. Со всей этой документации идущей вместе с пакетом я
> вижу единственный смысл - не превращать OpenSource в бесплатный хелпдеск. 
Точно. Тем более "Обзор Возможностей" не должен быть им.

> А раз так - то доки должны давать конкретные ответы на конкретные вопросы, 
А где они, эти конкретные вопросы?

> теорию потом можно подчерпнть в статье Кузнецова и Салли Флойд, а также 
> других заметках, идущих вместе с пакетом.
> 
> Сбсно основное впечатление от Вашей статьи (безусловно хорошо написанной в отличие от
> многих ваших предшественников, я не хотел бы пропустить это обстоятельство) - основное
И на этом спасибо :-)

> впечатление свелось к ощущению каких-то обманутых ожиданий: я не узнал ничего, чего
> не было бы ранее, в то время как мне много чего хотелось бы узнать.
Вы являетесь как-раз продвинутым человеком, а не новичком. Другими 
словами, это писалось не для Вас. И в самом деле, как можно охватить в 
рамках одной статьи вопросы, которые возникают по теме у самых разных 
людей. Как это не парадоксально, но данный обзор не только не HOWTO, но 
и не FAQ =)

>>Если расширять раздел 7, то там надо рассматривать редко-используемые
>>классификаторы, про описание которых даже в отмеченном HOWTO прямо так и
>>сказано, что: "For more filtering commands, see the Advanced Filters
>>chapter".
> 
> 
> Да, но там же есть эта "Advanced Filters chapter" - а у вас нет, у вас считайте битая ссылка 
А надо? Если надо, добавим. Только нужно взвесить, будет ли кто 
использовать классификаторы типа cls_tcindex, cls_route, или cls_rsvp. Я 
что-то сильно сомневаюсь.

> (про man tc см.ниже) И даже тот объем, после которого написано "For more .." - вполне самодостаточен 
> в HOWTO. Я не предлагаю написать второе HOWTO, только по-русски - я уже говорил что ваш
> стиль существенно лучше,  но рассмотрите хотя бы один или два - тот же u32 & fw - и вложите
ОК, для того я и предложил комьюнити добавить к статье свои материалы.

> Что касается cbq.init - мы вообще о какой версии пакета iproute2 говорим,
> мбть у меня apt не так настроен? У меня вот этот стоит:
> 
> 
>>01:28:38 (cray на fire)  /home/cray>  rpm -qi iproute2
>>Name        : iproute2                     Relocations: (not relocateable)
>>Version     : 2.4.7                             Vendor: ALT Linux Team
>>Release     : alt3.ss010824                 Build Date: Wed Oct 30 23:48:40 2002
>>Install date: Thu Dec  5 00:47:10 2002      Build Host: office.altlinux.com
Именно об этой.

> в нем файла cbq.init просто нет.
Зато есть /etc/rc.d/init.d/cbq который в девичестве назывался cbq.init. 
Зачем словесных баталий? Ведь из текста обзора и так было ясно, куда 
смотреть (п.8 Реализация).

>>>/etc/sysconfig/cbq/cbq-0000.example
> 
> 
> не содержит ни одного комментария.
Все комментарии и пример смотрите в /etc/rc.d/init.d/cbq. Кроме того 
есть некий микро-хауту в
README.iproute2+tc от Кузнецова.

> Я имел ввиду :
> 
> "Что бы ограничить пользователя васю от скачивания 15гектар голых теток
> попробуйте написать :
QoS предназначен для несколько других целей.

> .....
> tc qdisc add dev eth0 parent 1:1 handle 10: tbf burst 270000 rate 10kbit latency 1
> tc filter add dev eth0 parent 1:0 pref 6 protocol ip u32 match ip dst 1.2.3.4/32 flowid 1:1
> "
> 
> "Что бы дать пользователю пете получать почту в тот момент когда пользователь
> вася все-таки скачивает 15гектар голых теток, попробуйте :"
Вот это уже ближе.

> .....
> "
> 
> И т.п. Только примеры должны быть реальными и гарантировано работающими (эти не работают,
> кстати) - а что до откомментированного cbq.init, то я тоже написал откомментированный 
А они и не будут работать, т.к. не правильные. За правильными примерами, 
и конкретными ответами на конкретные вопросы идите в указанный список 
рассылки. Или, для начала, в его архив 
http://mailman.ds9a.nl/pipermail/lartc/

> zope_proxy.conf - что не мешает пользователям задавать вопросы, читать howto на 
> neural.ru (судя по статистике посещений) и наступать на все грабли, которые я позабыл упомянуть.
ARouting и QoS довольно мутная тема, как из-за сложности реализации, так 
и практической недокументированности. Грабли будут всегда, как бы не 
старались писать статьи.

>>смысл? Для неподготовленного статья и так трудно читается, а для
>>остальных указаны ссылки, по которым искать дополнительную информацию,
>>конфиги, примеры, и прочее.
> 
> 
> Я уже писал - неподготовленный читатель (например я) не нашел в статье ничего,
> что не было бы изложено раньше в doc/*ps.gz. Хотя многих спасет то, что
> на этот раз рассказано по-русски и более-менее доступным языком. Кроме того,
> неподготовленный читатель (например я) единственную помощь в реальных
> настройках нашел только в упомянутом HOWTO. Это несмотря на то, что
> неподготовленный читатель (например я) с большим интересом прочитал
> рекомендованную Кузнецовым статью Флойд, прикинул откуда следуют формулы
> и подивился забавному способу перенумеровки вершин дерева,  и именно поэтому
> осмелился предположить что часть функционала, обещанного CBQ, не функционирует,
> по крайней мере в ALM2.0. Кстати когда тот же неподготовленный читатель попробовал
> применить "работающий пример" из doc/exmples - он не заработал (это было давно, но тогда помнится
> сам перлячий скрипт тупо осыпался, и даже после того как читатель это победил и вся байда
> создалась - траффик контролл не появился...). Теперь (подготовивишись) непоготовленный 
> читатель понимает почему он не заработал, и утверждает что комментарии 
> в примере абсолютно бесполезны.
Вы уже давно подготовленный ;) Более того, после чтения Флойд, я думаю 
Вам здесь не будет равных ;-) Вот и поправьте неправильный комментарий 
на правильный. Многие только спасибо скажут.

> Все, извините за этот невольный наезд - я просто думаю что критика будет
> отчасти полезна. Проблема в том, что я не до конца понимаю целевую
Критика в целом конструктивна и понятна, только зря. И вот почему. Я 
ведь написал сюда не с просьбой покритиковать именно статью, а с 
просьбой дополнить ее. Причем в основном тем, чего Вам так в ней и не 
хватает. :-)) Я ведь не такой крутой хакер-ядерщик или спец по tc, как 
может показаться. За рамки стандартных возможностей и конфигураций почти 
не вылазил. Более того, в самом начале я отметил преимущества того, что 
статья будет обсуждаться и дополняться здесь, прежде чем попадет в книгу.

> аудиторию статьи - если это читатель обзоров, интересующийся "а как там в мире?" -
> то мало сравнительной аналитики с той же CISCO & MS, и много формул (и вообще-то такие
> статьи лучше в КТ), если админ который полезет настраивать - то много рекламы и нет 
> конкретных советов (я говорю это как тот самый админ), если читатель который ищет с чего 
Аудитория - админы, которые не знали про существование таких 
возможностей, или были сбиты с толку всеми этими множественными 
аббревиатурами, и не знали с чего начать. И советы там тоже есть, причем 
конкретные. Или для Вас конкретика это конфиги? Хорошему админу 
достаточно идею подать, чтобы он начал думать и пробовать, а не тупо 
копировать и спрашивать.

> начать и куда пойти дальше - то см. ниже про tc-filters (себя приводить в пример не буду, так 
> как  моменту прочтения уже начал). Вот это меня и смущает.
> 
> На самом деле ни в коем случае не хочу умалять достоинства ну и так далее ;)
Вообще говоря, хорошую статью написать денег стоит. И написал я ее не 
для того, чтобы самоутвердиться, или от того что у меня нет своей 
работы, а потому что меня попросили. На atms выложил по понятным 
причинам. Но основной вариант еще находится на доработке.

> Обновился. Похоже, мое письмо было невнимательно прочитано.
> Где среди них tc-filters? Не хорошо не проверять предлагаемые решения перед отправкой,
> тем более что проверочный тест был приведен в моем письме:
> 
> 1. man 8 tc | grep -iE "u32|fw" - по прежнему пусто (а ссылка в статье стоит именно на него)
> 2. tc-filters - по прежнему нет (в том числе в вашем списке), равно как нет tc-u32 или tc-fw ;).
> 3. man 8 tc по прежнему при любых упоминаниях фильтров ссылается на man 8 tc-filters.
Вы пытаетесь меня обвинить, или Вам нужна информация? Ну нету там этого 
файла, нету, и что дальше будем делать? Я вообще-то давал ссылки, где 
искать информацию. Повторюсь, возможно 
http://www.docum.org/stef.coene/qos/docs/filter.html поможет. А за 
отсутствие или наличие документации в пакете я не могу отвечать.

>>Я не могу опровергнуть, или подтвердить ваши предположения, так как не
>>являюсь программистом, тем более на ядерном уровне. Однако у меня тоже
> 
> 
> Я не расчитывал - меня интересует в данный момент не аргументы
> на уровне листингов, а как-бы-это сказать - интуитивные ощущения
> от использования и от контактов с разработчиками / другими пользователями
Свои впечатления я Вам дал, другие возможно тоже ответят. Вам лучше 
обратиться за деталями в упомянутый список рассылки.

> Похоже у меня на лице написано что я - микрософт сертифаед. Так это было
Неа, я бы не догадался ;)

>>нескольких серверах работает связка из CBQ+u32+TBF общим числом около
>>500 классов. Серверы, на которых крутится все это хозяйство далеко не
>>мощные, особенно по нынешним временам. Тем не менее особых проблем
>>замечено не было. На ядрах 2.2 _иногда_ были странные "отъезжания
>>крыши", если говорить несколько раз за сутки "service cbq restart".
> 
> 
> Это тоже похоже на неинициализированную память и неосвобождение ресурсов,
> хотя у меня стук был более явный.
Мы тоже так предположили.

> 
> Я юзал примерно тоже, только prio+u32+tbf. А кстати - почему CBQ+TBF, ведь CBQ само
> по себе имеет шейпер и AFAIK не нуждается в TBF ? Я везде видел рекомендации
> типа CBQ + SFQ, и у вас в методичке тоже, AFAIR (нет под рукой), CBQ+u32+SFQ, 
> и вдруг выясняется что вы сами-то используете CBQ+u32+TBF...
Все просто. Мы не стали изобретать скриптов, а просто наполнили каталог 
/etc/sysconfig/cbq конфигами. Просто _внимательно_ перечитайте пункт 8 в 
"методичке", и станет ясно почему так.

> У меня это подглюкивает на ядре 2.4.18(см оригинал письма).... Т.е. сейчас
> uptime 3дня без сбоев, но это после долгого перебора ключиков и подбора
> безглючной комбинации - хотя если верить методичкам все глючащие варианты должны были
> работать. И все работали - первые час-полтора-два, потом им сводило башню,
> что и навело меня на грустные предположения (см оригинал письма). И тот вариант который сейчас
> работает - это не тот вариант, который мне бы хотелось что бы работал, так как тому сводило-таки
> башню без видимых причин. Но как я говорил уже - писать багрепорты пока не считаю себя готовым.
На всех серверах 2.4.18 из Альта, и никаких проблем (с ip/tc во всяком 
случае).

>>тестируют. Хотя возможно я и ошибаюсь. Следовательно, это вопрос
>>напрямую к Кузнецову. Попробуйте, может быть он вам и ответит ;-)
> 
> 
> Я правильно вас понимаю, что обычно он не отвечает? И тот же отказ от
> консультаций содержится в его инструкциях... И обещанная им дока по tc,
> судя по содержимому пакета, не написана до сих пор... (и, видимо, не будет - уже
> два года отложенных обещаний прошло, не так ли?)
Не могу говорить за Кузнецова, но в свое время, мы от него поддержки не 
получили. Не думаю, что сейчас ситуация кардинально изменилась.

>>Если Вам удастся вытащить какую-либо информацию из Кузнецова, я думаю
>>она будет многим здесь интересна и полезна.
> 
> 
> Похоже Кузнецов сдерживает свое обещание  никого не консультировать ;)
Давно не пробовали ;) Но доки он действительно долго пишет.

>>>1. Поискать другое решение (в случае если этот код вообще никто не
>>>поддерживает и это лишь
>>>забавный реликт, оставшийся от ядер 2.2.*);
> 
> 
>>Ни в коем случае не реликт! 
> 
> 
> Место Кузнецова среди разработчиков этого кода уже не вакантно, его кто-то занял?
Т.е.? Я и не знал, что он больше эти не занимается.

>>Чтобы отказаться от этого "реликта", вам
>>придется отказаться не только от Альта, но и от Линукса вообще. Код
> 
> 
> Не думаю. Вы сами пишите что AltLinuxTeam его серъезно не разрабатывает
> и не использует  - и тем не менее не отказывается от Линукса вообще ;).
> Да и честно говоря я очень сомневаюсь что при сегодняшнем обилии альтернатив найдется
> что-либо конкретное в линуксе, отказ от чего вынудит отказаться от линукса
> "вообще". Разве что ядро? Но что-то заставляет меня думать, что если припрет -
> тоже можно найти альтернативу.
Можно, но сложно. Мы искали. Уж проще на BSD тогда все шейпать.

>>находится в состоянии постоянного развития. Неужели ничего не говорит
>>хотя-бы факт появления HTB в последних ядрах? Для интереса, можете взять
> 
> 
> Мне значительно больше говорит факт того, что основной разработчик (насколько я
> понял ваши слова) отказывает кому-либо в консультациях о написанном им коде. Мне
Да не отказывает он. Он просто занят. Более того, его подельники сидят в 
трижды-упомянутом списке, и с удовольствием поддерживают.

> это напоминает меня самого: однажды я делал один проект, успешно его сделал - в
> исследовательских целях - и больше он меня не интересовал. Исходники я передал
> другим людям, но советы им практически не даю: так как считаю что код и так понятен,
> а 150 с лишним страниц статьи написанной по этому поводу и содержащей изложение
> всей теории более чем достаточно. Почему меня этот код не интересует и я его не
> развиваю - отдельная история, но если в случае с tc то же самое (а некоторые паралели
> просматриваются), то я не завидую tc.
Я же предлагал уже посмотреть на перспективы в ядрах 2.5 ветки.

>>Это да, никогда не завредит. Особенно исходники. Код отлаженный,
>>проверенный, многими используется! 
> 
> 
> Ой ли? Я не увидел в рассылке ни одного отзыва человека, который бы заявил
> что использует его, хотя даже на такую экзотику как maple в свое время откликнулось
> достаточно людей чбы попросили уйти ;). А несколько моих знакомых пользуются
> "другими способами" - например squid'ом как один из подписчиков здесь, причем не 
> потому что "не получилось" - а потому что "нет необходимости". 
Это и понятно. Тема довольно специфична, и практически не 
документирована. Именно для того, чтобы заинтересовать комьюнити и был 
написан обзор.

>>http://www.lartc.org/#mailinglist Средний трафик там 20-30 писем в сутки.
> 
> 
> Вначале надо будет отписаться от талкрума, но попробую.
Про 3 десятка я загнул. Меньше конечно.

>>Надеюсь помог =)
> 
> 
> Да, помогли, спасибо. Резюме подводить не буду, иначе боюсь станет
> страшно не только мне ;). Попробую понадеятся на пункт 3 все-таки.
А я подведу:
1) Без всяких личных притензий к Вам Андрей, давайте все вместе будем 
дорабатывать статью до того варианта, который будет всем интересен.
2) Тем не менее, надо признать, "целевая аудитория" у нее более другая, 
чем для Вас ;-) Вы можете нам помочь и дополнить ее, а не учиться на ней.
3) Не Кузнецов, не тем более мантайнер пакета IMHO не виноваты в 
сложившихся у Вас впечатлениях. Если здесь Вам не помогут их развеять, 
то уж в www.lartc.org/#mailinglist точно могут.
4) А "третьего пункта" остается только ждать, или написать самому :-)


-- 
С Уважением,
Андрей Горев




Подробная информация о списке рассылки community