Технологии

User Datagram Protocol (UDP)

Это транспортный протокол для передачи данных в сетях IP. Он является одним из самых простых протоколов транспортного уровня модели OSI. Его IP-идентификатор — 0x11.

В отличие от TCP, UDP не гарантирует доставку пакета, поэтому аббревиатуру иногда расшифровывают как Unreliable Datagram Protocol (протокол ненадёжных датаграмм). Это позволяет ему гораздо быстрее и эффективнее доставлять данные для приложений, которым требуется большая пропускная способность линий связи, либо требуется малое время доставки данных.

Для взаимодействия сетевых приложений протокол UDP использует 16-ти битные порты, которые могут принимать значения от 0 до 65535. Порт 0 является зарезервированным, но может использоваться как порт источника, если приложение не ожидает ответных данных.

- Порты с 1 по 1023 являются системными и фиксированными, во многих ОС привязка к ним требует повышенных привилегий приложения.

- Порты с 1024 по 49151 — зарегистрированные.

- Порты с 49152 по 65535 — свободно используемые и временные. Используются клиентскими приложениями для связи с серверами

Заголовок UDP содержит 4 поля.

- Поле «порт отправителя» (16 бит) определяет порт на хосте отправителя, пославший пакет. В случае, если процесс-отправитель не ожидает от получателя никаких ответных данных, это поле может быть установлено в «0».

- Поле «порт получателя» (16 бит) определяет порт на хосте получателя, которому предназначен данный пакет.

- Поле «Длина пакета» (16 бит) содержит суммарный размер UDP-пакета в октетах. Минимально возможное значение этого поля равно 8 (т.к. 8 октетов занимает сам заголовок пакета).

Арифметически, максимальная длина UDP-пакета составляет 216-1 = 65535 октетов. Вычитая из этой длины размер заголовка (8 октетов), получаем максимальный размер данных, которые могут быть переданы в одном UDP пакете — 65527 октетов. Однако следует учесть, что UDP пакет является полезной нагрузкой IP пакета, в заголовке которого поле «Полная длина» также из 16 бит учитывает как заголовок IP, так и полезную нагрузку, которая как раз и является UDP-пакетом. IP заголовок, в общем случае, имеет переменную длину не менее 20 октетов. Таким образом, UDP-пакет с максимальной арифметической длиной обязательно будет фрагментирован или отброшен, если фрагментация запрещена.

Недостаточная надёжность протокола может выражаться как в потере отдельных пакетов, так и в их дублировании. UDP используется при передаче потокового видео, игр реального времени, а также некоторых других типов данных.

Ненадёжность протокола UDP надо понимать в том смысле, что в случаях влияния внешних факторов, приводящих к сбоям, протокол UDP не предусматривает стандартного механизма повторения передачи потерянных пакетов. В этом смысле он настолько же надежен, как и протокол ICMP.

Если приложению требуется большая надёжность, то используется протокол TCP или SCTP, либо реализуется какой-нибудь свой нестандартный алгоритм повторения передач в зависимости от условий.

UDP используется в следующих протоколах: DNS, RTP и RTCP, TFTP, SNTP, NTP, NFS

   
Для корректного отображения этого элемента вам необходимо установить FlashPlayer и включить в браузере Java Script.

Новая версия

09-05-06: Moonlight 2.0 Preview
09-05-05: MySQL Community Server 5.0.81
09-05-04: nginx 0.7.54
09-05-04: FreeBSD 7.2-RELEASE

Новые Update&Patch

09-05-06: Adobe Shockwave Player 11.5.0.596
09-05-05: Vista SP2
09-05-04: Firefox 3.0.10
09-05-04: SP2 Office System 2007


Copyright © 2009 www.ipxt.ru Все права защищены.
При цитировании документа ссылка на сайт с указанием автора обязательна. Полное заимствование документа является нарушением
Российского и международного законодательства и возможно только с согласия администрации.