Traffic Shaping

Шейпинг ограничивает скорость путём буферизации лишнего трафика. Весь приходящий трафик проходит через буфер. Шейпер из этого буфера с постоянной скоростью изымает пакеты.

Если скорость поступления пакетов в буфер ниже выходной, они в буфере не задерживаются — пролетают насквозь. А если скорость поступления выше выходной, они начинают скапливаться. Выходная скорость при этом всегда одинакова. Таким образом всплески трафика складываются в буфер и будут отправлены, когда до них дойдёт очередь. Поэтому наряду с диспетчеризацией в очередях, шейпинг — второй инструмент, делающий вклад в совокупную задержку.

На иллюстрации хорошо видно, как пакет, пришедший буфер в момент времени t2, на выходе оказывается в момент t3. t3-t2 — это задержка, вносимая шейпером. Шейпер обычно применяется к исходящему трафику. Так выглядит профиль после шейпера.

Название «Shaping» говорит о том, что инструмент придаёт профилю трафика форму, сглаживая его. Главное достоинство такого подхода — оптимальное использование имеющейся полосы — вместо дропа чрезмерного трафика, мы его откладываем.

Главный недостаток — непредсказуемая задержка — при заполнении буфера, пакеты будут томиться в нём долго. Поэтому не для всех типов трафика шейпинг хорошо подходит. Shaping использует механизм Leaky Bucket.