«Справедливое распределение ресурсов» (fair share или fairness) является одним из основных принципов функционирования сетей на базе протокола IP. Основная идея заключается в равнозначном распределении полосы пропускания между конкурирующими пакетами/ потоками вне зависимости от нагрузки. В общем случае, когда нагрузка в сети невысока, то требования по обслуживанию всех пакетов/потоков выполняются. Если же нагрузка на сетевом узле становится высокой, возрастает вероятность того, что пакеты одного потока займут все сетевые ресурсы, при этом пакеты всех других потоков будут блокированы. Разработан целый ряд методов и механизмов, позволяющих избежать такой неприятной ситуации.

Перед подробным анализом принципа «справедливого распределения ресурсов» и сопутствующих механизмов, обратимся к историческим фактам. Как было показано ранее, традиционный маршрутизатор имел всего одну очередь, дисциплина обслуживания которой была FIFO. Можно предположить, что в таком случае блокировка потоков была невозможна по причине того, что пакеты обслуживались в порядке поступления 15 очередь, т.е. внутри очереди пакеты от разных потоков были перемешаны. Однако, принимая во внимание пачечность трафика данных, становится ясно, что вполне вероятной является ситуация, когда пачка пакетов (burst) от одного источника занимает весь буфер (или его существенную часть). Таким образом, сетевые ресурсы, т.е. буферное пространство, процессор маршрутизатора и исходящий канал, полностью заняты пакетами одного потока. Остальные пакеты/ потоки блокируются - не имеют доступа к сетевым ресурсам, и, если буфер полностью заполнен, пакеты теряются.

Для борьбы с блокировкой потоков были разработаны различные методы управления буферным пространством. Базовой идеей принципа «управления буферным пространством» является классификация пакетов и соответствующий ей сброс пакета или помещение его в буфер. В свою очередь, введение дополнительных буферов в структуру маршрутизатора расширило возможности реализации принципа «справедливого распределения ресурсов»: стало возможным управлять доступом пакетов определенных потоков к процессорному времени маршрутизатора.

На основе этих двух базовых идей были разработаны методы, названные, соответственно, Queue Management (управление очередью) и Scheduling (планирование обслуживания). Оба метода подробно рассмотрены ниже в данной главе.

От best effort к гарантированному качеству обслуживания | Управление трафиком и качество обслужевания в сети | Tcp и принцип «справедливого распределения ресурсов»