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