# 0. Чем определяется QoS?

Бизнес ожидает от сетевого стека того, что он будет просто хорошо выполнять свою несложную функцию — доставлять битовый поток от одного хоста до другого: без потерь и за предсказуемое время.\
Из этого короткого предложения можно вывести все метрики качества сети:

{% content-ref url="/pages/-LRcKeRV1NmalCjfuNXq" %}
[Потери](/sdsm/15.-qos/0.-chem-opredelyaetsya-qos/0-poteri.md)
{% endcontent-ref %}

{% content-ref url="/pages/-LRcKeRWSZx15IHDpc-3" %}
[Задержки](/sdsm/15.-qos/0.-chem-opredelyaetsya-qos/1-zaderzhki.md)
{% endcontent-ref %}

{% content-ref url="/pages/-LRcKeRXUwaZT8CGbwG2" %}
[Джиттер](/sdsm/15.-qos/0.-chem-opredelyaetsya-qos/2-dzhitter.md)
{% endcontent-ref %}

Эти три характеристики определяют [качество сети](https://tools.ietf.org/html/rfc2549) независимо от её природы: пакетная, канальная, IP, MPLS, радио, [голуби](https://tools.ietf.org/html/rfc1149). Почему характеристики могут портиться? Итак, начнём мы с очень примитивного представления: сетевое устройство (будь то коммутатор, маршрутизатор, файрвол, да что угодно) — это просто ещё один кусочек трубы под названием "канал связи". Такой же, как медный провод или оптический кабель.

![](/files/-LMaZEwws1ynLc3CYNjr)

Тогда все пакеты пролетают насквозь в том же порядке, в котором они пришли и не испытывают никаких дополнительных задержек — негде задерживаться.\
Но на самом деле каждый маршрутизатор восстанавливает из сигнала биты и пакеты, что-то с ними делает (об этом пока не думаем) и потом обратно преобразует их в сигнал. Появляется задержка сериализации. Но в целом это не страшно, поскольку она постоянна. Не страшно до тех пор, пока ширина выходного интерфейса больше, чем входного.\
Например, на входе в устройство гигабитный порт, а на выходе радио-релейная линия 620 Мб/с, подключенная в такой же гигабитный порт. Никто не запретит пулять через формально гигабитный линк гигабит трафика. Ничего тут не поделаешь — 380 Мб/с будут проливаться на пол. Вот они — потери. Но при этом очень бы хотелось, чтобы проливалась худшая его часть — видео с youtube. А телефонный разговор исполнительного директора с директором завода не прерывался и даже не квакал. Хотелось бы, чтобы у голоса была выделенная линия.

Или входных интерфейсов пять, а выходной один, и одновременно пять узлов начали пытаться влить трафик одному получателю.\
Добавим щепотку теории VoIP (статью, про который никто так и не написал) — он весьма чувствителен к задержкам и их вариации. Если для TCP-потока видео с youtube (на момент написания статьи [QUIC](https://habr.com/company/infopulse/blog/315172/) — ещё остаётся экспериментом) задержки даже в секунды ровным счётом ничего не стоят благодаря буферизации, то директор после первого же такого разговора с Камчаткой призовёт к себе руководителя тех. отдела. В более старые времена, когда автор цикла ещё делал уроки по вечерам, проблема стояла особенно остро. Модемные соединения имели [скорость 56кбит/с](https://se7en.ru/post/4671.html). И когда в такое соединение приходил полуторакилобайтный пакет, он оккупировал всю линию на 200 мс. Никто другой в этот момент пройти не мог. Голос? Не, не слышал. Отсюда и такие невеликие значения MTU. Значение 1500, как максимальный MTU, гарантировало, что пакет не будет висеть в очереди уж очень долго. Поэтому таким важным является вопрос MTU - пакет не должен слишком надолго оккупировать интерфейс. Чем менее скоростной интерфейс, тем меньший MTU необходим. Вот они — задержки. Сейчас канал свободен и задержка низкая, через секунду кто-то начал качать большой файл и задержки выросли.\
Вот он — джиттер.

Таким образом нужно, чтобы голосовые пакеты пролетали через трубу с минимальными задержками, а youtube подождёт.

Имеющиеся 620 Мб/с нужно использовать и для голоса, и для видео, и для B2B клиентов, покупающих VPN. Хотелось бы, чтобы один трафик не притеснял другой, значит нужна гарантия полосы.


---

# 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/0.-chem-opredelyaetsya-qos.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.
