Поддержка классов обслуживания

Поддержка классов обслуживания — одна из горячих тем современных сетевых технологий, и протокол сетевого уровня, такой как IPv6, должен предоставить основу для реализации подобной поддержки.

В спецификациях IPv6 [15] поддерживать классы обслуживания помогают два поля — Prio. и Flow Label (см. Рис. 3). Первое задает желательную приоритетность доставки данного пакета относительно других пакетов из того же источника. Возможные приоритеты делятся на два диапазона. Значения от 0 до 7 используются для потоков данных, на интенсивность которых источник может воздействовать. TCP-трафик принадлежит к этой категории, поскольку при перегрузке сети скорость отправки пакетов снижается. Диапазон от 8 до 15 предназначен для трафика "реального времени", интенсивность которого определяется внешними факторами.

Для управляемого трафика рекомендуется следующее распределение приоритетов:

  • 0 — трафик неизвестной природы;
  • 1 — трафик-"заполнитель" (например, сетевые новости);
  • 2 — неинтерактивный трафик (например, электронная почта);
  • 4 — массовый интерактивный трафик (например, передача файлов по FTP или NFS);
  • 6 — обычный интерактивный трафик (например, telnet, X);
  • 7 — управляющий трафик (например, протоколы маршрутизации, SNMP)

(значения 3 и 5 зарезервированы).

Во втором диапазоне младшие значения (8) предлагается отвести для пакетов, с недоставкой которых при перегрузке сети отправитель готов смириться легче всего. Соответственно, приоритет 15 присваивается самым ценным пакетам, которые желательно доставить при любых условиях.

Поток, который помечается с помощью поля Flow Label, определяется как последовательность пакетов, посылаемых из определенного источника по определенному адресу (индивидуальному или групповому) с фиксированным приоритетом. Требуемый класс обслуживания может сообщаться маршрутизаторам посредством какого-либо управляющего протокола или с помощью данных, содержащихся в самих передаваемых пакетах (точнее, в дополнительных заголовках, обрабатываемых маршрутизаторами). Предполагается, что значение Flow Label используется как ключ хэширования при поиске информации, ассоциированной с потоком. По этой причине источник должен выбирать его псевдослучайным образом.

В настоящее время в поддержке классов обслуживания (не только для IPv6) больше вопросов, чем ответов. Ясно только, что ориентированные на практический выход экспериментальные подходы должны быть применимы и к IPv6, и к IPv4. В заголовке IPv4 имеется однобайтное поле Type of Service, которое целесообразно использовать для задания класса обслуживания. Вероятно, из-за этого в новом проекте спецификаций IPv6 (см. [24]) граница между полями Prio. и Flow Label сдвинута на четыре бита вправо, вместо Prio. применяется термин "Traffic Class", а само начало заголовка выглядит так, как показано на Рис. 19.

В то же время, в трактовке полей Traffic Class и Flow Label не только не добавляется что-то новое, но и делается шаг назад по сравнению с [15]. Признается, что пока рано говорить о семантике этих полей, поскольку работы по поддержке классов обслуживания в рамках IP-протокола находятся на начальной стадии. С этим выводом нельзя не согласиться.


Настройка сетевых адресов в IPv6 Содержание Архитектура средств безопасности