Jump to content

Протокол управления перегрузкой дейтаграмм

В компьютерных сетях ( протокол управления перегрузкой дейтаграмм DCCP ) , ориентированный на сообщения транспортного уровня представляет собой протокол . DCCP реализует надежную установку соединения, разрыв соединения, явное уведомление о перегрузке (ECN), контроль перегрузки и согласование функций. IETF опубликовал DCCP как RFC   4340 , предложенный стандарт , в марте 2006 года. RFC   4336 содержит введение.

Операция [ править ]

DCCP предоставляет возможность получить доступ к механизмам контроля перегрузки без необходимости реализовывать их на уровне приложений . Он допускает семантику на основе потоков, как в протоколе управления передачей (TCP), но не обеспечивает надежную доставку по порядку. Последовательная доставка в нескольких потоках, как в протоколе управления потоками (SCTP), недоступна в DCCP. Соединение DCCP содержит трафик подтверждения , а также трафик данных. Подтверждения информируют отправителя о том, прибыли ли его пакеты и были ли они отмечены явным уведомлением о перегрузке (ECN). Подтверждения передаются настолько надежно, насколько этого требует используемый механизм контроля перегрузки, возможно, полностью надежно.

DCCP имеет возможность использовать очень длинные (48-битные) порядковые номера, соответствующие идентификатору пакета, а не байтовому идентификатору, как в TCP. Большая длина порядковых номеров призвана защитить от «некоторых слепых атак, таких как внедрение DCCP-Reset в соединение». [1]

Приложения [ править ]

DCCP полезен для приложений с ограничениями по времени доставки данных. К таким приложениям относятся потоковое мультимедиа , многопользовательские онлайн-игры и интернет-телефония . В таких приложениях старые сообщения быстро становятся бесполезными, поэтому получение новых сообщений предпочтительнее повторной отправки потерянных сообщений. По состоянию на 2017 год такие приложения часто либо соглашаются на TCP, либо используют протокол пользовательских дейтаграмм (UDP) и реализуют свои собственные механизмы контроля перегрузки, либо вообще не имеют контроля перегрузки. Будучи полезным для этих приложений, DCCP также может служить общим механизмом контроля перегрузки для приложений на основе UDP, добавляя при необходимости механизмы надежной или упорядоченной доставки поверх UDP/DCCP. В этом контексте DCCP позволяет использовать различные, но в целом дружественные к TCP механизмы контроля перегрузки.

Реализации [ править ]

Следующие операционные системы реализуют DCCP:

  • FreeBSD , версия 5.1. [2] как патч
  • Linux начиная с версии 2.6.14, [3] но помечен как устаревший с версии 6.4 из-за отсутствия обслуживания и планируется удалить в 2025 году. [4]

Библиотека пользовательского пространства:

  • DCCP-TP. Архивировано 23 июля 2008 г. в Wayback Machine. Реализация оптимизирована для переносимости, но с июня 2008 г. не претерпела никаких изменений. [5]
  • Целью GoDCCP этой реализации является предоставление стандартизированной портативной среды, совместимой с NAT, для одноранговой связи с гибким контролем перегрузки, в зависимости от приложения.

Структура пакета [ править ]

Общий заголовок DCCP принимает разные формы в зависимости от значения X, бита расширенных порядковых номеров. Если X равен единице, поле порядкового номера имеет длину 48 бит, а общий заголовок занимает 16 байт, как показано ниже.

Общий заголовок DCCP
Смещения Октет 0 1
Октет Кусочек  0  1  2  3  4  5  6  7  8  9 10 11 12 13 14 15
0 0 Исходный порт
2 16 Порт назначения
4 32 Смещение данных CCVal CsCov
6 48 Контрольная сумма
8 64 Рез Тип Х=1 Сдержанный
10 80 Порядковый номер (старшие биты)
12 96 Порядковый номер
14 112 Порядковый номер (младшие биты)

Если X равен нулю, передаются только младшие 24 бита порядкового номера, а длина общего заголовка составляет 12 байт.

Смещения Октет 0 1
Октет Кусочек  0  1  2  3  4  5  6  7  8  9 10 11 12 13 14 15
0 0 Исходный порт
2 16 Порт назначения
4 32 Смещение данных CCVal CsCov
6 48 Контрольная сумма
8 64 Рез Тип Х=0 Порядковый номер (высокий)
10 80 Порядковый номер (младшие биты)
Исходный порт (16 бит)
Определяет порт отправки
Порт назначения (16 бит)
Определяет порт приема
Смещение данных
(8 бит): смещение от начала заголовка DCCP пакета до начала области данных приложения в 32-битных словах.
CCVal (4 бита)
Используется CCID HC-Sender
Покрытие контрольной суммы (CsCov) (4 бита)
Покрытие контрольной суммы определяет части пакета, которые покрываются полем Контрольная сумма.
Контрольная сумма (16 бит)
Интернет-контрольная сумма заголовка DCCP пакета (включая параметры), псевдозаголовок сетевого уровня и, в зависимости от покрытия контрольной суммы, все, некоторые или ни одного из данных приложения.
Зарезервировано (Res) (3 бита)
Отправители ДОЛЖНЫ установить в этом поле все нули в сгенерированных пакетах, а получатели ДОЛЖНЫ игнорировать его значение.
Тип (4 бита)
Поле Type указывает тип пакета.
Расширенные порядковые номера (X) (1 бит)
Установите значение «1», чтобы указать использование расширенного общего заголовка с 48-битными номерами последовательности и подтверждения.
Порядковый номер (48 или 24 бита)
Уникально идентифицирует пакет в последовательности всех пакетов, отправленных источником по этому соединению.

Текущее развитие [ править ]

Аналогично расширению протокола TCP за счет возможности многопутевого распространения ( MPTCP ), также и для DCCP функция многопутевого распространения обсуждается в IETF. [6] соответственно обозначается как MP-DCCP . Первые реализации уже разработаны, протестированы и представлены в результате сотрудничества операторов и научных кругов. [7] и доступны как решение с открытым исходным кодом.

См. также [ править ]

Ссылки [ править ]

  1. ^ RFC 4340, раздел 7.6.
  2. ^ «[dccp] Реализация FreeBSD» . www.ietf.org . Проверено 18 апреля 2018 г.
  3. ^ «Linux получает DCCP [LWN.net]» . lwn.net . Проверено 18 апреля 2018 г.
  4. ^ «dccp: Распечатать уведомление об устаревании» . ядро.орг .
  5. ^ «Журнал изменений вики-сайта dccp-tp, получено 13 июня 2011 г.» . Архивировано из оригинала 4 октября 2011 года . Проверено 13 июня 2011 г.
  6. ^ Поправь, Маркус; Брунстрем, Анна; Касслер, Анис; Ракочевич, Веселин; Джонсон, Стивен (9 ноября 2021 г.). «Расширения DCCP для многопутевой работы с несколькими адресами» .
  7. ^ «Расширение Multipath для DCCP» .

Внешние ссылки [ править ]

Спецификации протокола [ править ]

  • RFC 4340 — Протокол контроля перегрузки дейтаграмм
  • RFC 5595 — Сервисные коды протокола управления перегрузкой дейтаграмм (DCCP)
  • RFC 5596 — Метод одновременного открытия DCCP для облегчения обхода NAT/Middlebox
  • RFC 5762 — RTP и DCCP
  • RFC 5238 — Безопасность дейтаграммного транспортного уровня (DTLS) через DCCP
  • RFC 5634 — Быстрый старт для DCCP
  • RFC 6773 — протокол управления перегрузкой дейтаграмм, инкапсуляция UDP для обхода NAT

Идентификаторы контроля перегрузки [ править ]

  • RFC 4341 — Профиль для DCCP Congestion Control ID 2: TCP-подобный контроль перегрузки
  • RFC 4342 — Профиль для DCCP Congestion Control ID 3: Управление скоростью, дружественное к TCP (TFRC)
  • RFC 5622 — Профиль для DCCP Congestion Control ID 4: TCP-дружественное управление скоростью для небольших пакетов (TFRC-SP)

Другая информация [ править ]

Arc.Ask3.Ru: конец переведенного документа.
Arc.Ask3.Ru
Номер скриншота №: cdd80db865cb302f29aea6d1540f210e__1708967520
URL1:https://arc.ask3.ru/arc/aa/cd/0e/cdd80db865cb302f29aea6d1540f210e.html
Заголовок, (Title) документа по адресу, URL1:
Datagram Congestion Control Protocol - Wikipedia
Данный printscreen веб страницы (снимок веб страницы, скриншот веб страницы), визуально-программная копия документа расположенного по адресу URL1 и сохраненная в файл, имеет: квалифицированную, усовершенствованную (подтверждены: метки времени, валидность сертификата), открепленную ЭЦП (приложена к данному файлу), что может быть использовано для подтверждения содержания и факта существования документа в этот момент времени. Права на данный скриншот принадлежат администрации Ask3.ru, использование в качестве доказательства только с письменного разрешения правообладателя скриншота. Администрация Ask3.ru не несет ответственности за информацию размещенную на данном скриншоте. Права на прочие зарегистрированные элементы любого права, изображенные на снимках принадлежат их владельцам. Качество перевода предоставляется как есть. Любые претензии, иски не могут быть предъявлены. Если вы не согласны с любым пунктом перечисленным выше, вы не можете использовать данный сайт и информация размещенную на нем (сайте/странице), немедленно покиньте данный сайт. В случае нарушения любого пункта перечисленного выше, штраф 55! (Пятьдесят пять факториал, Денежную единицу (имеющую самостоятельную стоимость) можете выбрать самостоятельно, выплаичвается товарами в течение 7 дней с момента нарушения.)