WikiDer > Тип сервиса
В тип сервиса (ToS) - это второй байт Заголовок IPv4. На протяжении многих лет он преследовал различные цели и был определен по-разному пятью RFC.[1]
До переопределения поле ToS могло указывать приоритет дейтаграммы и запрашивать маршрут для обслуживания с низкой задержкой, высокой пропускной способностью или высокой надежностью. На основе этих значений ToS пакет будет помещен в приоритетную исходящую очередь,[2] или выберите маршрут с соответствующей задержкой, пропускной способностью или надежностью. На практике область ToS никогда не получала широкого распространения за пределами сетей Министерства обороны США. Однако большая часть экспериментальных, исследовательских работ и работ по развертыванию была сосредоточена на том, как использовать эти восемь битов, в результате чего в настоящее время Поле DS определение.
Современное переопределение поля ToS, также используемое для Класс трафика поле в Пакеты IPv6, представляет собой 8-битовое поле дифференцированных услуг (поле DS), которое состоит из 6-битного Кодовый пункт дифференцированных услуг (DSCP) поле[3] и 2-битный Явное уведомление о перегрузке (ECN) поле.[4] Хотя дифференцированные услуги в некоторой степени обратно совместимы с ToS, ECN - нет.
История
Поле Type of Service в заголовке IP изначально было определено в RFC 791, и был интерпретирован для Приоритет IP и ToS с тех пор. Это определение во многом основано на спецификации JANAP-128 Министерства обороны США, которая определяет приоритет сообщений. Он определил механизм для присвоения приоритета каждому IP-пакету, а также механизм для запроса конкретной обработки, такой как высокая пропускная способность, высокая надежность или низкая задержка и т. Д. RFC 1349 update вводится бит денежной стоимости (этот бит ранее был помечен как «Зарезервировано для будущего использования»). Раздел 2.4 RFC 1583 (OSPFv2) представляет метод маршрутизации с учетом ToS.
На практике только часть поля «Приоритет IP» использовалась за пределами сетей Министерства обороны США: чем выше значение поля «Приоритет IP», тем выше приоритет IP-пакета. Некоторые сети Министерства обороны США использовали бит задержки для выбора маршрута между океаническими кабелями и путями спутниковой связи (SATCOM), когда существовали оба пути. В IPv6 никогда не было «традиционного» поля ToS, подобного IPv4, отчасти потому, что авторы знали об усилиях DiffServ при его разработке (RFC 2460 Раздел 7).
В RFC 2474 определение всего этого поля было изменено. Теперь оно называется полем «DS» (дифференцированные услуги, «DiffServ»), а верхние 6 битов содержат значение, называемое «DSCP» (точка кода дифференцированных услуг). Старшие 3 бита DS поддерживают совместимость с приоритетом IP. С RFC 3168, оставшиеся два бита (два младших бита) используются для уведомления о явной перегрузке.
RFC 8622 добавлен DS с меньшими усилиями (LE) для трафика, который может быть замещен другим трафиком (трафик с максимальным усилием). Он предназначен для фонового трафика с низким приоритетом, такого как массовая передача данных с низким приоритетом по времени.
Размещение
Приоритет и Условия использования
До прекращения поддержки поле Тип службы определялось следующим образом: RFC 791:
7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
---|---|---|---|---|---|---|---|
Приоритет | Тип сервиса | Не используется (0) |
Приоритет - это 3-битное поле, которое рассматривает пакеты с высоким приоритетом как более важные, чем другие пакеты. Если маршрутизатор перегружен и ему необходимо отбросить некоторые пакеты, он сначала отбрасывает пакеты с самым низким приоритетом. Хотя поле приоритета было частью IP версии 4, оно никогда не использовалось.
RFC 1349 введено дополнительное поле "lowcost". Теперь четыре доступных бита ToS становятся:
7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
---|---|---|---|---|---|---|---|
(Приоритет IP) | низкая задержка | пропускная способность | надежность | бюджетный (RFC 1349) | (Должен быть нулевым) |
Именование здесь следует соглашению операционных систем Unix.[5] RFC 1349 и RFC 1060 показывать только примеры использования одного бита для значений по умолчанию приложения, хотя RFC 791 упоминает, что не более двух из трех показаний должны быть установлены номинально. Одно такое использование известно из mod_iptos.[6]
Поскольку последние три бита прошли через множество определений до RFC 2474 (см. ниже) документация и реализации могут быть запутанными и противоречивыми.
DSCP и ECN
RFC 2474 (который был выпущен в декабре 1998 г.) зарезервировал первые шесть битов поля DS (или IPv4 ToS) для точки кода дифференцированных услуг (DSCP), и RFC 3168 зарезервировал последние два бита для Явное уведомление о перегрузке.
7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
---|---|---|---|---|---|---|---|
DSCP | ECN |
DSCP определяет имя селектора класса (CS) для каждого определяемого значения, отражая то, что было бы интерпретировано как приоритет IP, если следовать более старой спецификации:
Имя DSCP | Значение поля DS (декабрь) | Приоритет IP (описание) |
---|---|---|
CS0 | 0 | 0: Лучшее усилие |
LE | 1 | н / д |
CS1, AF11-13 | 8,10,12,14 | 1: приоритет |
CS2, AF21-23 | 16,18,20,22 | 2: Немедленно |
CS3, AF31-33 | 24,26,28,30 | 3: Flash - в основном используется для голосовой сигнализации |
CS4, AF41-43 | 32,34,36,38 | 4: Переопределение вспышки |
CS5, EF | 40,46 | 5: Критический - в основном используется для голосового RTP |
CS6 | 48 | 6: Межсетевое управление |
CS7 | 56 | 7: Сетевое управление |
Номенклатура DSCP:
- CS
- Селектор классов (RFC 2474)
- AFxy
- Гарантированная пересылка (x = класс, y = отбрасывание приоритета) (RFC 2597)
- EF
- Ускоренное экспедирование (RFC 3246)
- LE
- Низкое усилие (RFC 8622)
Приведенная выше таблица с отдельными значениями, записанными для значений всего поля ToS (не путать с мало используемой 5-битной частью):
DSCP декабрь | Значение ToS | IP Prec |
---|---|---|
0 | 0 | 0 |
8 | 32 | 1 |
10 | 40 | 1 |
14 | 56 | 1 |
18 | 72 | 2 |
22 | 88 | 2 |
24 | 96 | 3 |
28 | 112 | 3 |
34 | 136 | 4 |
36 | 144 | 4 |
38 | 152 | 4 |
40 | 160 | 5 |
46 | 184 | 5 |
48 | 192 | 6 |
56 | 224 | 7 |
Примечание. В приведенной выше таблице ToS отображается в десятичном формате. Однако многие маршрутизаторы выражают ToS в шестнадцатеричном формате.
Пример: смешанная интерпретация
Начнем с приоритета IP 1, или 0b001
в двоичном. Тогда все поле ToS будет 001 00000
, предполагая, что неиспользованные 5 бит равны нулю. DSCP можно интерпретировать путем повторной сегментации на 001000 00
, куда 001000
= 8 - значение DSCP.
Поддержка программного обеспечения
Определения IP ToS, хотя и не часто используются, можно найти в netinet / ip.h
из Unix-подобный или же Unix операционные системы как IPTOS_FIELDNAME
макросы.[5] Поле "lowcost" закомментировано в OpenBSD из-за его нового использования для указания поддержки ECN.[5] Остатки старого RFC 1349 терминологию можно найти в Передача инфекции 2.93[7] а также другие инструменты, поддерживающие установку этого поля.
Старый модуль Apache "mod_iptos", когда-то упакованный в Ubuntu, отмечает, что способ использования нескольких RFC 1349 биты опций вместе появились после некоторого момента.[6]
Смотрите также
Рекомендации
- ^ RFC 791, RFC 1122, RFC 1349, RFC 2474, и RFC 3168. Для полной истории поля ToS см. Раздел 22 RFC 3168.
- ^ http://www.tldp.org/HOWTO/Adv-Routing-HOWTO/lartc.qdisc.classless.html Расширенная маршрутизация и контроль трафика Linux
- ^ RFC 3260 Раздел 4
- ^ RFC 3168 Раздел 5
- ^ а б c "openbsd / src: sys / netinet / ip.h". GitHub. Получено 10 октября 2018.
- ^ а б Годе, декан. "mod_iptos.c (mod_iptos 1.0)". Архивировано из оригинал 10 октября 2018 г.. Получено 10 октября 2018.
- ^ "передача 2.93: libtransmission / session.c". GitHub. Получено 10 октября 2018.
дальнейшее чтение
- Джон Эванс, Кларенс Филсфилс (2007). Развертывание IP и MPLS QoS для мультисервисных сетей: теория и практика. Морган Кауфманн. ISBN 978-0123705495.