# Практика Полисинг и шейпинг

Схема та же:

![](/files/-LMaZM4It-ZR00uWnW3e)

[*Файл конфигурации.*](https://docs.google.com/document/d/e/2PACX-1vTrtK-fnUH8KO8UjTlScnv4xT-5FAsp7mDITqtDjtFHDZXJYg4UPvQnhQ5B9JqydfNuY_1-Ho9_RjIH/pub)

Такую картину наблюдаем без применения ограничений:

![](/files/-LMaZM4Pq4g4U2qpnq17)

Мы поступим следующим образом:

* На входном интерфейсе Linkmeup\_R2 (e0/1) настроим полисинг — это будет входной контроль. По договору мы даём 10 Мб/с.
* На выходном интерфейсе Linkmeup\_R4 (e0/2) настроим шейпинг на 20 Мб/с.

  Начнём с шейпера на **Linkmeup\_R4**.\
  Матчим всё:

```
class-map match-all TRISOLARANS_ALL_CM
match any
```

Шейпим до 20Мб/с:

```
policy-map TRISOLARANS_SHAPING
class TRISOLARANS_ALL_CM
shape average 20000000
```

Применяем на выходной интерфейс:

```
interface Ethernet0/2
service-policy output TRISOLARANS_SHAPING
```

Всё, что должно покинуть (output) интерфейс Ethernet0/2, шейпим до 20 Мб/с.

[*Файл конфигурации шейпера.*](https://docs.google.com/document/d/e/2PACX-1vQ0FLKJi6_dxwvmvIWKISVSZIurHrw896wEBuXVTbkoo677VFS0S5cZv6FCJrBqhmAsaDChoUvR4172/pub)

И вот результат:

![](/files/-LMaZM4UyEI-iO3OLAeZ)

Получается достаточно ровная линия общей пропускной способности и рваные графики по каждому отдельному потоку.

Дело в том, что ограничиваем мы шейпером именно общую полосу. Однако в зависимости от платформы отдельные потоки тоже могут шейпиться индивидуально, таким образом получая равные возможности.

Теперь настроим полисинг на Linkmeup\_R2.

К существующей политике добавим полисер.

```
policy-map TRISOLARANS_ADMISSION_CONTROL
class TRISOLARANS_TCP_CM
 police cir 10000000 bc 1875000 conform-action transmit exceed-action drop
```

На интерфейс политика уже применена:

```
interface Ethernet0/1
 service-policy input TRISOLARANS_ADMISSION_CONTROL
```

Здесь указываем среднюю разрешённую скорость CIR (10Mб/с) и разрешённый всплеск Bc (1 875 000 байтов или около 14,6 МБ).

Позже, [объясняя, как работает полисер](/sdsm/15.-qos/7.-ogranichenie-skorosti/4-mekhanizmy-leaky-bucket-i-token-bucket/1-algoritm-token-bucket.md), я расскажу, что за CIR да Bc и как эти величины определять.

[*Файл конфигурации полисера.*](https://docs.google.com/document/d/e/2PACX-1vTl81fiPO4MFeznoyoCGOF_rHbt7p7jUS0WosHgPVNObZo_WtMwThneBdu1LUUG9A0OFxBtmKOYXOUE/pub)

Такая картина наблюдается при полисинге. Сразу видно резкие изменения уровня скорости:

![](/files/-LMaZM4Yko8tcxWHUpoZ)

А вот такая любопытная картина получается, если мы сделаем слишком маленьким допустимый размер всплеска, например, 10 000 байтов.

```
police cir 10000000 bc 10000 conform-action transmit exceed-action drop
```

![](/files/-LMaZM4_1RJvwah9Zxqm)

Общая скорость сразу упала до примерно 2Мб/с.

Будьте аккуратнее с настройкой всплесков:)

[*Таблица тестов.*](https://drive.google.com/file/d/1YwKgZTynOpMJ__IapR-qzsRmh6BsJNKf/view?usp=sharing)


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://linkmeup.gitbook.io/sdsm/15.-qos/7.-ogranichenie-skorosti/3-praktika-polising-i-sheiping.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
