Формирование трафика — это метод управления полосой пропускания, используемый в компьютерных сетях , который задерживает некоторые или все датаграммы , чтобы привести их в соответствие с желаемым профилем трафика . [1] [2] Формирование трафика используется для оптимизации или гарантии производительности, улучшения задержки или увеличения используемой полосы пропускания для некоторых видов пакетов за счет задержки других видов. Его часто путают с контролем трафика , отдельной, но связанной практикой отбрасывания и маркировки пакетов . [3]
Наиболее распространенным типом формирования трафика является формирование трафика на основе приложений. [4] [ неудачная проверка ] При формировании трафика на основе приложений сначала используются инструменты снятия отпечатков пальцев для идентификации интересующих приложений, которые затем подвергаются политикам формирования. Некоторые спорные случаи формирования трафика на основе приложений включают регулирование полосы пропускания однорангового трафика обмена файлами . Многие протоколы приложений используют шифрование для обхода формирования трафика на основе приложений.
Другой тип формирования трафика — это формирование трафика на основе маршрута. Формирование трафика на основе маршрута осуществляется на основе информации о предыдущем или следующем переходе. [5]
Если канал используется до такой степени, что возникает значительный уровень перегрузки , задержка может существенно возрасти. Формирование трафика может использоваться для предотвращения этого и контроля задержки. Формирование трафика предоставляет средства для управления объемом трафика, отправляемого в сеть в течение определенного периода ( регулирование полосы пропускания ), или максимальной скоростью, с которой отправляется трафик ( ограничение скорости ), или более сложными критериями, такими как общий алгоритм скорости ячеек . Этот контроль может быть достигнут многими способами и по многим причинам; однако Формирование трафика всегда достигается за счет задержки пакетов.
Формирование трафика обычно применяется на границах сети для управления входящим в сеть трафиком, но также может применяться источником трафика (например, компьютером или сетевой картой [6] ) или элементом в сети.
Источники трафика иногда применяют формирование трафика, чтобы гарантировать, что отправляемый ими трафик соответствует контракту, который может быть реализован в сети с помощью контроля трафика .
Формирование широко используется для проектирования телетрафика и появляется в сетях внутренних интернет-провайдеров как одна из нескольких практик управления интернет-трафиком (ITMP). [7] Некоторые интернет-провайдеры могут использовать формирование трафика для ограничения ресурсов, потребляемых одноранговыми файлообменными сетями, такими как BitTorrent . [8]
Центры обработки данных используют формирование трафика для поддержания соглашений об уровне обслуживания для различных приложений и множества размещенных арендаторов, поскольку все они используют одну и ту же физическую сеть. [9]
Аудио- и видеомост включает в себя встроенную функцию формирования трафика, определенную в IEEE 802.1Qav.
Узлы в IP-сети, которые буферизуют пакеты перед отправкой по каналу, находящемуся на пределе возможностей, создают непреднамеренный эффект формирования трафика. Это может проявиться, например, в канале с низкой пропускной способностью, особенно дорогом канале WAN или спутниковом переходе.
Формирователь трафика работает, задерживая измеренный трафик таким образом, чтобы каждый пакет соответствовал соответствующему контракту трафика . Измерение может быть реализовано, например, с помощью алгоритмов «дырявое ведро» или «токен-ведро» (первый обычно в сетях ATM , а второй в сетях IP ). Затем измеренные пакеты или ячейки сохраняются в буфере FIFO , по одному для каждого отдельно сформированного класса, до тех пор, пока они не смогут быть переданы в соответствии с соответствующим контрактом трафика. Передача может происходить немедленно (если трафик, поступающий в формирователь, уже соответствует), после некоторой задержки (ожидание в буфере до запланированного времени освобождения) или никогда (в случае потери пакета ).
Все реализации формирователя трафика имеют конечный буфер и должны справляться со случаем, когда буфер заполнен. Простой и распространенный подход заключается в отбрасывании трафика, поступающего, когда буфер заполнен, стратегия, известная как отбрасывание хвоста , которая приводит к контролю трафика, а также формированию. Более сложная реализация может применять алгоритм отбрасывания, такой как случайное раннее обнаружение .
Простые схемы формирования трафика формируют весь трафик единообразно. Более сложные шейперы сначала классифицируют трафик. Классификация трафика категоризирует трафик (например, на основе номера порта или протокола ). Затем различные классы могут быть сформированы отдельно для достижения желаемого эффекта.
Самоограничивающийся источник создает трафик, который никогда не превышает некоторую верхнюю границу, например, медиаисточники, которые не могут передавать быстрее, чем позволяет их закодированная скорость. [10] Самоограничивающиеся источники формируют трафик, который они генерируют, в большей или меньшей степени. Механизмы управления перегрузкой также могут влиять на формирование трафика определенного рода - например, механизм окна TCP реализует ограничение переменной скорости, связанное с произведением пропускной способности и задержки .
TCP Nice, модифицированная версия TCP, разработанная исследователями Техасского университета в Остине, позволяет приложениям запрашивать, чтобы определенные TCP-соединения управлялись операционной системой как фоновые передачи с почти нулевой стоимостью или потоки nice . Такие потоки лишь в минимальной степени мешают потокам переднего плана (не nice), при этом занимая большую часть свободной пропускной способности сети. [11]
Формирование трафика — это особая технология, одна из нескольких, которые в совокупности составляют управление полосой пропускания . [12]
Формирование трафика представляет особый интерес для поставщиков интернет-услуг (ISP). Их дорогостоящие сети с высоким трафиком являются их основными активами и, как таковые, находятся в центре их внимания. Иногда они используют формирование трафика для оптимизации использования своей сети, иногда формируя трафик в соответствии со своей оценкой важности и, таким образом, препятствуя использованию определенных приложений. [13]
Большинство компаний с удаленными офисами теперь подключены через глобальную вычислительную сеть (WAN). Приложения, как правило, централизованно размещаются в главном офисе, а удаленные офисы, как ожидается, будут извлекать данные из центральных баз данных и серверных ферм . Поскольку приложения становятся все более требовательными к пропускной способности, а цены на выделенные каналы относительно высоки в большинстве регионов мира, вместо увеличения размера своих каналов WAN компании чувствуют необходимость правильного управления своими каналами, чтобы гарантировать, что бизнес-ориентированный трафик получает приоритет над другим трафиком. Таким образом, формирование трафика является хорошим способом для компаний избежать покупки дополнительной пропускной способности, при этом правильно управляя этими ресурсами.
Альтернативами формированию трафика в этом отношении являются ускорение приложений и оптимизация и сжатие WAN, которые принципиально отличаются от формирования трафика. Формирование трафика определяет правила пропускной способности, тогда как ускорение приложений использует несколько методов, таких как повышающий производительность TCP-прокси . Оптимизация WAN, с другой стороны, сжимает потоки данных или отправляет только различия в обновлениях файлов. Последнее довольно эффективно для болтливых протоколов, таких как CIFS .
Существует несколько методов обнаружения и измерения формирования трафика. Разработаны инструменты для помощи в обнаружении. [14] [15]