Очередь на основе классов ( CBQ ) — это дисциплина очередей для сетевого планировщика , которая позволяет трафику равномерно распределять полосу пропускания после группировки по классам. Классы могут быть основаны на различных параметрах, таких как приоритет, интерфейс или исходная программа.
CBQ — это алгоритм управления трафиком, разработанный Network Research Group в Lawrence Berkeley National Laboratory в качестве альтернативы традиционной технологии на основе маршрутизаторов. Теперь CBQ находится в общественном достоянии как открытая технология и развертывается компаниями на границе своих WAN.
CBQ делит пользовательский трафик на иерархию классов на основе любой комбинации IP-адресов, протоколов и типов приложений. Например, бухгалтерскому отделу компании могут не потребоваться те же привилегии доступа в Интернет, что и инженерному отделу. Поскольку каждая компания организована по-разному и имеет разные политики и бизнес-требования, жизненно важно, чтобы технология управления трафиком обеспечивала гибкость и детализацию при классификации потоков трафика.
CBQ позволяет сетевым менеджерам классифицировать трафик в многоуровневой иерархии. Например, некоторые компании могут сначала определить общие потребности каждого отдела или бизнес-группы, а затем определить требования каждого приложения или группы приложений в каждом отделе. По причинам производительности и архитектуры традиционные схемы очередей на основе маршрутизаторов ограничены небольшим числом классов и допускают только одномерную классификацию.
Поскольку он работает на уровне сети IP , CBQ обеспечивает те же преимущества в любой технологии уровня 2 и одинаково эффективен с любым протоколом IP, таким как протокол управления передачей (TCP) и протокол пользовательских датаграмм (UDP). Он также работает с любым вариантом стека TCP/IP клиента или сервера, поскольку он использует преимущества стандартных механизмов управления потоком TCP/IP для управления сквозным трафиком.
Реализация доступна в соответствии с лицензией GNU General Public License для ядра Linux . [1]