<?xml version="1.0" encoding="koi8-r"?>
<rss version="0.91">
<channel>
    <title>OpenForum RSS: Linux - шейпинг: не удаётся завести tc-drr</title>
    <link>https://slinkov.ru/openforum/vsluhforumID1/95012.html</link>
    <description>Собственно для tc есть queue discipline DRR(Dificite Round Robin) .&lt;br&gt;&lt;br&gt;Вкратце - умеет то же, что HTB, но вместо того, чтобы заполнять корзины токенами с определённой скоростью, потом их оттуда вынимать и т. д., просто присваивает каждой каждой очереди некоторый Dificit Counter, при отправке пакета - уменьшает его на размер пакета. Если DC меньше размера пакета, увеличивает размер DC на заданный для очереди quantum и переходит к следующей. Таким образом, можно делить исходящий траффик в некотором отношении, не зная заранее ширину канала(что требуется для HTB). Подробнее: http://www.unix.com/man-page/linux/8/tc-drr/&lt;br&gt;&lt;br&gt;Setup: две машины, 172.16.1.1 и 172.16.1.2.&lt;br&gt;&lt;br&gt;На первой - слушаем траффик:&lt;br&gt;&lt;br&gt;nc -l 8111&lt;br&gt;nc -l 8112&lt;br&gt;&lt;br&gt;На второй - проверяем скорость:&lt;br&gt;&lt;br&gt;pv /dev/zero &amp;#124; nc 172.16.1.1 8111&lt;br&gt;pv /dev/zero &amp;#124; nc 172.16.1.1 8112&lt;br&gt;&lt;br&gt;Пока скорость равная(pv - позволяет мерить скорость через pipeline). Добавляем на второй машине шейпер(сверху присобачен HTB для имитации ограничения скорости канала):&lt;br&gt;&lt;br&gt;tc qd</description>

<item>
    <title>Linux - шейпинг: не удаётся завести tc-drr (selivan)</title>
    <link>https://slinkov.ru/openforum/vsluhforumID1/95012.html#12</link>
    <pubDate>Thu, 19 Sep 2013 21:35:13 GMT</pubDate>
    <description>Pinkbyte с ЛОРа нашёл решение: http://www.linux.org.ru/forum/admin/9585325?lastmod=1379626328792#comment-9601372&lt;br&gt;&lt;br&gt;DRR не дропает пакеты. Поэтому достаточно повесить на концы pfifo limit 50 и всё работает как положено :)&lt;br&gt;</description>
</item>

<item>
    <title>Linux - шейпинг: не удаётся завести tc-drr (1)</title>
    <link>https://slinkov.ru/openforum/vsluhforumID1/95012.html#11</link>
    <pubDate>Tue, 17 Sep 2013 06:15:22 GMT</pubDate>
    <description>&amp;gt;&#091;оверквотинг удален&#093;&lt;br&gt;&amp;gt;        Amount  of  bytes &lt;br&gt;&amp;gt; a flow is allowed to dequeue before the sched- &lt;br&gt;&amp;gt;        uler moves to the next &lt;br&gt;&amp;gt; class.  Defaults to the MTU of the inter- &lt;br&gt;&amp;gt;        face. The minimum value is &lt;br&gt;&amp;gt; 1.&lt;br&gt;&amp;gt; Но, похоже, это почему-то не обеспечивает требуемого поведения. Странно, по идее должно &lt;br&gt;&amp;gt; получаться, что при полной загрузке пакеты из класса с quantum 750 &lt;br&gt;&amp;gt; должны отправляться в два раза реже, чем из класса с quantum &lt;br&gt;&amp;gt; 1500. Пичаль :( &lt;br&gt;&lt;br&gt;нет, прочитай ещё раз,при полной загрузке если mtu=1500 то отправляться будут также, попробуй числа кратные mtu (только для полной загрузки) там quantum к сдлиной пакета связан, если он меньше длины пакета то все равно какое значение (это судя по описанию)&lt;br&gt;</description>
</item>

<item>
    <title>Linux - шейпинг: не удаётся завести tc-drr (selivan)</title>
    <link>https://slinkov.ru/openforum/vsluhforumID1/95012.html#10</link>
    <pubDate>Mon, 16 Sep 2013 20:47:40 GMT</pubDate>
    <description>&amp;gt; Логичнее (чтобы исключить все если) измерять скорость на первой машине, т.е. делать &lt;br&gt;&amp;gt; честный download.&lt;br&gt;&lt;br&gt;Попробовал считать скорость на принимающем хосте - тот же результат.&lt;br&gt;&lt;br&gt;Зато, неожиданно, реальный большой файл передаётся быстрее, чем /dev/zero.&lt;br&gt;&lt;br&gt;Вобщем пойду HTB настраивать с индивидуальным выставлением скорости для каждого филиала, красивое решение с DRR не прокатило :(&lt;br&gt;&lt;br&gt;</description>
</item>

<item>
    <title>Linux - шейпинг: не удаётся завести tc-drr (gapsf2)</title>
    <link>https://slinkov.ru/openforum/vsluhforumID1/95012.html#9</link>
    <pubDate>Mon, 16 Sep 2013 10:20:29 GMT</pubDate>
    <description>http://www.cisco.com/en/US/products/hw/routers/ps167/products_tech_note09186a0080094c00.shtml#topic1&lt;br&gt;Да, похоже что поведение, которое вы ожидаете в данном случае, должно реализовываться.&lt;br&gt;Вы трафик генерируете на второй машине  и там же измеряете?&lt;br&gt;М.б. кажущееся отсутствие результата из-за неправильного измерения?&lt;br&gt;Логичнее (чтобы исключить все если) измерять скорость на первой машине, т.е. делать честный download.&lt;br&gt;А у вас возможно так получается:&lt;br&gt;на второй машине генерируете трафик, измереяете скорость *генерации* еще до исходящей очереди, далее DRR и трафик попадает на первую машину - *но вы там скорость не измеряете*.&lt;br&gt;Т.е. не думаю что конструкция &apos;pv /dev/zero &amp;#124; nc 172.16.1.1 8111&apos; показывает вам скорость *с котрой трафик отдается в сеть, после всех очередей уже на выходе из интерфейса* &lt;br&gt;</description>
</item>

<item>
    <title>Linux - шейпинг: не удаётся завести tc-drr (selivan)</title>
    <link>https://slinkov.ru/openforum/vsluhforumID1/95012.html#8</link>
    <pubDate>Mon, 16 Sep 2013 09:20:17 GMT</pubDate>
    <description>&amp;gt; http://users.ece.gatech.edu/~siva/ECE4607/presentations/DRR.pdf &lt;br&gt;&lt;br&gt;В этом документе действительно про quantum ничего не написано. Я читал man tc-drr(http://www.unix.com/man-page/linux/8/tc-drr/):&lt;br&gt;&lt;br&gt;ALGORITHM&lt;br&gt;       Each class is assigned a deficit counter, initialized to quantum.&lt;br&gt;&lt;br&gt;       DRR maintains an (internal) &apos;&apos;active&apos;&apos; list of classes whose qdiscs are&lt;br&gt;       non-empty.  This list is used for dequeuing.  A packet is dequeued from&lt;br&gt;       the class at the head of the list if the  packet  size  is  smaller  or&lt;br&gt;       equal  to  the  deficitcounter.   If  the counter is too small, it is&lt;br&gt;       increased by quantum and the scheduler moves on to the  next  class  in&lt;br&gt;       the active list.&lt;br&gt;&lt;br&gt;PARAMETERS&lt;br&gt;       quantum&lt;br&gt;      Amount  of  bytes a flow is allowed to dequeue before the sched-&lt;br&gt;      uler moves to the next class.  Defaults to the MTU of the inter-&lt;br&gt;      face. The minimum value is 1.&lt;br&gt;&lt;br&gt;Но, похоже, это почему-то не обеспечивает требуемого поведения. Странно, по идее должно получать</description>
</item>

<item>
    <title>Linux - шейпинг: не удаётся завести tc-drr (gapsf2)</title>
    <link>https://slinkov.ru/openforum/vsluhforumID1/95012.html#7</link>
    <pubDate>Mon, 16 Sep 2013 09:02:09 GMT</pubDate>
    <description>http://users.ece.gatech.edu/~siva/ECE4607/presentations/DRR.pdf&lt;br&gt;Насколько я сейчас это понимаю, DRR не рашает задачу так, как вы описали в начале (не аналог HTB).&lt;br&gt;DRR позволяет решить задачу честного распределения пропускной способности между потоками, аналогично SFQ, но используя меньшие вычислительные ресурсы + возможность явной классификация потоков.&lt;br&gt;Из описания алгоритма я так и не смог понять зачем нуже quantum и как quantum влияет на  поведение трафика.&lt;br&gt;</description>
</item>

<item>
    <title>Linux - шейпинг: не удаётся завести tc-drr (selivan)</title>
    <link>https://slinkov.ru/openforum/vsluhforumID1/95012.html#6</link>
    <pubDate>Mon, 16 Sep 2013 04:30:56 GMT</pubDate>
    <description>&amp;gt; как насчет http://people.netfilter.org/hawk/shaper-example/qos-DRR-example ??&lt;br&gt;&lt;br&gt;У них там DRR без quantum в классах, это что-то типа эмуляции SFQ.&lt;br&gt;</description>
</item>

<item>
    <title>Linux - шейпинг: не удаётся завести tc-drr (тень_pavel_simple)</title>
    <link>https://slinkov.ru/openforum/vsluhforumID1/95012.html#5</link>
    <pubDate>Mon, 16 Sep 2013 03:59:00 GMT</pubDate>
    <description>&amp;gt;&#091;оверквотинг удален&#093;&lt;br&gt;&amp;gt; tc class add dev eth0 parent 1: classid 1:1 htb rate 100mbit &lt;br&gt;&amp;gt; ceil 100mbit &lt;br&gt;&amp;gt; tc qdisc add dev eth0 parent 1:1 handle 2: drr &lt;br&gt;&amp;gt; tc class add dev eth0 parent 2: classid 2:1 drr quantum 600 &lt;br&gt;&amp;gt; tc class add dev eth0 parent 2: classid 2:2 drr quantum 1400 &lt;br&gt;&amp;gt; tc filter add dev eth0 parent 1: protocol ip prio 1 u32 &lt;br&gt;&amp;gt; match ip dport 8111 0xffff classid 2:1 &lt;br&gt;&amp;gt; tc filter add dev eth0 parent 1: protocol ip prio 1 u32 &lt;br&gt;&amp;gt; match ip dport 8112 0xffff classid 2:2 &lt;br&gt;&amp;gt; Скорость остаётся равной :( Куда копать?&lt;br&gt;&lt;br&gt;как насчет http://people.netfilter.org/hawk/shaper-example/qos-DRR-example ??&lt;br&gt;</description>
</item>

<item>
    <title>Linux - шейпинг: не удаётся завести tc-drr (selivan)</title>
    <link>https://slinkov.ru/openforum/vsluhforumID1/95012.html#4</link>
    <pubDate>Sun, 15 Sep 2013 19:12:54 GMT</pubDate>
    <description>200 и 60000 - то же самое, одинаковые скорости. Чего-то я в этом DRR не понимаю&lt;br&gt;</description>
</item>

</channel>
</rss>
