|
|
|
|
 |
Технологии |
|
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.
|
 | Новая версия |
 | Новые Update&Patch |
|
|