Provided by: manpages-ru_4.27.0-1_all bug

НАИМЕНОВАНИЕ

       udplite - облегчённый протокол пользовательских датаграмм

ОБЗОР

       #include <sys/socket.h>

       sockfd = socket(AF_INET, SOCK_DGRAM, IPPROTO_UDPLITE);

ОПИСАНИЕ

       Это реализация облегчённого протокола пользовательских датаграмм (UDP-Lite), описанная в RFC 3828.

       UDP-Lite  представляет  собой  расширение UDP (RFC 768), содержащее поддержку контрольных сумм переменной
       длины. Это даёт преимущества при передаче данных  некоторых  типов  мультимедиа,  для  которых  допустимо
       использовать   слегка  повреждённые  датаграммы,  если  бы  они  не  отбрасывались  другими  нижележащими
       протоколами.

       Охват (coverage) контрольной суммы переменной длины задаётся с  помощью  параметра  через  setsockopt(2).
       Если  параметр не установлен, то отличием от UDP будет только другой идентификатор протокола IP (номер по
       IANA — 136).

       The UDP-Lite implementation is a full extension of udp(7)—that  is,  it  shares  the  same  API  and  API
       behavior, and in addition offers two socket options to control the checksum coverage.

   Формат адреса
       В  UDP-Litev4 используется формат адреса sockaddr_in, описанный в ip(7). В UDP-Litev6 используется формат
       адреса sockaddr_in6, описанный в ipv6(7).

   Параметры сокета
       Для получения и задания параметров сокетов UDP-Lite, используйте вызовы  getsockopt(2)  и  setsockopt(2),
       соответственно.  Значение  аргумента  уровня  параметров  должно  быть равно IPPROTO_UDPLITE. Кроме того,
       сокетам UDP-Lite доступно большинство параметров сокета IPPROTO_UDP. Дополнительная информация  приведена
       в udp(7).

       Следующие параметры относятся только к UDP-Lite.

       UDPLITE_SEND_CSCOV
              This  option  sets  the  sender  checksum  coverage  and takes an int as argument, with a checksum
              coverage value in the range 0..2^16-1.

              Значение 0 означает, что охватывается вся датаграмма. Значения 1-7 некорректны (RFC 3828,  3.1)  и
              округляются до минимального охвата — 8.

              With  regard  to  IPv6  jumbograms  (RFC 2675), the UDP-Litev6 checksum coverage is limited to the
              first 2^16-1 octets, as per RFC 3828, 3.5.  Higher values  are  therefore  silently  truncated  to
              2^16-1.  If in doubt, the current coverage value can always be queried using getsockopt(2).

       UDPLITE_RECV_CSCOV
              Это  аналог  с  приёмной  стороны, использует тот же формат аргумента и диапазон значений, что и у
              UDPLITE_SEND_CSCOV.  Данный  параметр  не  требуется  для  приёма  трафика  с  контрольной  суммой
              частичного  охвата.  Он  предназначен  для фильтрации трафика: если включён, то это указывает ядру
              отбрасывать все пакеты, у которых охват менее заданного значения.

              Если значение UDPLITE_RECV_CSCOV превышает реальный охват пакета,  то  поступающие  пакеты  просто
              отбрасываются, но при этом может генерироваться предупреждающее сообщение в системный журнал.

ОШИБКИ

       Могут быть возвращены любые ошибки, описанные для udp(7). UDP-Lite не вносит никаких дополнительных типов
       ошибок.

ФАЙЛЫ

       /proc/net/snmp
              Основные счётчики статистики UDP-Litev4.

       /proc/net/snmp6
              Основные счётчики статистики UDP-Litev6.

ВЕРСИИ

       UDP-Litev4/v6 впервые появился в Linux 2.6.20.

ОШИБКИ

       Если поддержка в glibc отсутствует, то требуются следующие определения:

           #define IPPROTO_UDPLITE     136
           #define UDPLITE_SEND_CSCOV  10
           #define UDPLITE_RECV_CSCOV  11

СМОТРИТЕ ТАКЖЕ

       ip(7), ipv6(7), socket(7), udp(7)

       В  RFC 3828  описан облегчённый протокол пользовательских датаграмм (Lightweight User Datagram Protocol —
       UDP-Lite).

       Файл Documentation/networking/udplite.txt в дереве исходного кода ядра Linux

ПЕРЕВОД

       Русский перевод этой страницы  руководства  разработал(и)  Azamat  Hackimov  <azamat.hackimov@gmail.com>,
       Dmitriy  Ovchinnikov  <dmitriyxt5@gmail.com>,  Dmitry Bolkhovskikh <d20052005@yandex.ru>, Katrin Kutepova
       <blackkatelv@gmail.com>, Yuri Kozlov  <yuray@komyakino.ru>,  Иван  Павлов  <pavia00@gmail.com>  и  Kirill
       Rekhov <krekhov.dev@gmail.com>

       Этот  перевод является свободной программной документацией; он распространяется на условиях общедоступной
       лицензии GNU (GNU General Public License - GPL, https://www.gnu.org/licenses/gpl-3.0.html  версии  3  или
       более поздней) в отношении авторского права, но БЕЗ КАКИХ-ЛИБО ГАРАНТИЙ.

       Если  вы  обнаружите какие-либо ошибки в переводе этой страницы руководства, пожалуйста, сообщите об этом
       разработчику(ам)  по  его(их)  адресу(ам)  электронной  почты  или  по   адресу   списка рассылки русских
       переводчиков.

Справочные страницы Linux 6.9.1                   2 мая 2024 г.                                       udplite(7)