Формат UDP-пакета

Поля:

● Порт отправителя (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 протокол часто применяется в потоковых протоколах.


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: