По причине указанных выше недостатков модели IntServ комитетом IETF был создан упрощённый подход к обеспечению качества обслуживания в IP-сетях - модель дифференцированного обслуживания DiffServ. При такой модели не требуется предварительной настройки включения в процесс всех устройств вдоль маршрута. Реализация DiffServ осуществляется локально в каждом маршрутизаторе сети.
Модель DiffServ
Модель DiffServ ориентирована на разделении всего трафика на небольшое число классов и на выделение сетевых ресурсов отдельно для каждого такого класса, а не для каждого информационного потока, как это предусмотрено в модели IntServ. Класс маркируется непосредственно в поле кода дифференцированного обслуживания DSCP (DiffServ Code Point) пакета. Поле DSCP занимает 6 бит байта ToS (Type of Service) заголовка IP-пакета. Поле DSCP определяет механизм обработки различных информационных потоков РНВ (Per-Hop Behavior), который выражает порядок обработки пакета в узле в отношении приоритета очерёдности обработки и отбрасывания пакета при перегрузке. IETF определил набор из 14 классов обслуживания трафика. В их число входит класс негарантированного обслуживания BE (Best Effort), при котором трафик не получает никакой гарантии и класс срочной пересылки пакетов EF (Expedited Forwarding), при котором трафик получает минимальную задержку и низкую вероятность потерь (для речи и видео). Остальные 12 классов обслуживания определены документом RFC 2597 и относятся к гарантированной пересылке AF (Assured Forwarding). Четыре класса позволяют выделить четыре профиля трафика в соответствии с требованиями пользователя.
Внутри каждого класса пакеты маркируются пользователем или поставщиком услуг с помощью одного из трёх значений старшинства сброса пакетов. В случае перегрузки старшинство отмены пакетов определяет относительную значимость пакета внутри класса гарантированной пересылки. Домен DS состоит из множества маршрутизаторов. Маршрутизаторы в домене DiffServ представляют собой внутренние и граничные узлы. Внутренние узлы реализуют простой механизм обработки пакетов РНВ (Per-Hop Behavior) на основе своих кодовых значений DSCP.
Сюда включается дисциплина очереди для предпочтительной обработки в зависимости от DSCP и правила отмены передачи пакетов, определение какие пакеты необходимо отбросить первыми в случае перегрузки. Пограничные узлы включают не только механизмы РНВ, но также и более сложные механизмы регулирования трафика. В первую очередь это относится к разделению пакетов на различные классы (на основе DSCP либо на основе полей заголовка пакета, либо на основе полезной нагрузки пакета). После того как поток классифицирован, в пограничном узле производится оценка его потребности в ресурсах по результатам измерений представленного трафика на соответствие профиля. В случае несоответствия в пограничном узле могут быть использованы следующие механизмы регулирования трафика:
· задержка пакетов при превышении скорости трафика, определённой в профиле этого класса;
· повторная маркировка пакетов другими кодовыми значениями при превышении требований профиля;
· отмена передачи пакетов, когда скорость пакетов данного класса превышает скорость трафика, заданную в профиле.
Основное преимущество DiffServ заключается в том, что это простой метод классификации различных прикладных сервисов и позволяет обеспечить выполнение требований пользователей к качеству обслуживания. Механизм DiffServ использован в технологии MPLS.
Структурная схема программного обеспечения обработки очередей в модели DiffServ
В настоящем разделе приводится одна из возможных структурных схем программного