Управление трафиком. Как это работает.
Характеристики трафика.
Traffic Control (TrafC) позволяет управлять следующими характеристиками для любой части проходящего через него трафика:- приоритет
- средняя скорость
- суммарный объем (квота)
Для управления этими характеристиками используются следующие объекты
Объект | Свойство |
Сеанс (каждое подключение к серверу) | Приоритет обслуживания запросов |
Bandwidth-каналы | Пропускная способность для каждого направления (in/out) |
Quota-каналы | Величина допустимого объема трафика для каждого направления (in/out) и период обнуления счетчика |
Bandwidth-каналы
Bandwidth-каналы ограничивают верхнее значение средней скорости. Для этих каналов задается пропускная способность в CPS (т.е. столько-то байт в секунду).Bandwidth-каналы имеют приоритетные очереди, поэтому в них возможно обслуживание запросов в порядке приоритета. Это означает, что каждый запрос будет ожидать, пока в очереди есть более приоритетный запрос.
Приоритетные очереди дают возможность вне конкуренции обслуживать каких-то клиентов (например, почтовых агентов, или администратора
Приоритеты
Каждому сеансу (каждому подключившемуся клиенту) можно выставить свой приоритет. Значения приоритета используется в очередях Bandwidth-каналов. При этом сегменты более приоритетного трафика проходят через канал вперед сегментов менее приоритетного трафика.Наибольшему приоритету соответствует численное значение 0 (Клиенты с приоритетом 0 вообще минуют очередь). И далее, большим численным значениям соответствует меньший приоритет. Значение приоритета 0 является значением по умолчанию. Это означает, что по умолчанию приоритетная очередь не используется. Чтобы использовать приоритетную очередь, надо раздавать клиентам приоритеты от 1 и выше.
Гарантии
Приоритетные очереди вкупе с виртуальными каналами позволяют очень гибко распределять имеющийся канал связи. Они дают возможность гарантировать заданную пропускную способность для части трафика, сравнимую с резервированием части физического канала.При резервировании выделенный канал (или часть канала) не может использоваться иначе, чем под целевой трафик, независимо от наличия этого трафика. Виртуальные каналы позволяют использовать не востребованную часть физического канала под любой другой имеющийся трафик (возможно, также с учетом приоритетов).
Использовать наивысший приоритет имеет смысел для постоянного (синхронного) трафика, которому нужна неизменная пропускная способность независимо от пульсаций асинхронного трафика.
Quota-каналы
Quota-каналы обеспечивают выполнение квот (норм, допусков, ограничений) на объем проходящего через них трафика. Эти каналы подсчитают объем информации. Если период канала не закончился, а его квота исчерпалась, то невозможно передавать через этот канал, пока не закончится период.Для этих каналов задается квота на объем и период времени. Например, 10 Мб в неделю.
Выделение части трафика
TrafficControl может для управления выделять часть трафика в пространстве и во времени.Минимальная частью в пространстве является трафик одного сеанса ( TCP-соединения или portMAP-соединения). Минимальной частью во времени является трафик одного HTTP-запроса или одного соединения. При этом, размер сегмента дискретизации сравним с размером IP-пакета.
Для выделения некоторой части из общего трафика используются правила. В правила могут входить условия, оперирующие такими данными, как
- IP-адрес сервера
- порт сервера
- IP-адрес клиента (в том числе по маске)
- имя пользователя
- целевой URL или его часть
- и другие...
На основе правил, для каждой выделенной части трафика определяется приоритет и набор виртуальных каналов, через которые будет пропускаться этот трафик. |
Динамические характеристики трафика каждого сеанса будут определятся его приоритетом, набором виртуальных каналов, через которые он проходит, а также параметрами и загруженностью этих каналов.
Другими словами, характеристики трафика каждого сеанса будут определятся самым тонким местом в наборе каналов — каналом, в котором удельная на каждый сеанс пропускная способность (с учетом приоритеов) наименьшая.
Конфигурирование
Конфигурирование включает в себяОпределение именованных виртуальных каналов и задание их характеристик, в том числе определение quota-каналов определение bandwidth-каналов
Создание базы правил для распределения трафика по виртуальным каналам.
Подробное описание настройки Traffic Control приведено в man.config.txt
Скачать TrafficControl
См. EproxyDownloadRuvim Pinka , 2001-2002