Provided by: manpages-ru_4.19.0-7_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>

       Этот  перевод  является  бесплатной  документацией;  прочитайте  Стандартную  общественную
       лицензию GNU версии 3 ⟨https://www.gnu.org/licenses/gpl-3.0.html⟩ или более позднюю, чтобы
       узнать об условиях авторского права. Мы не несем НИКАКОЙ ОТВЕТСТВЕННОСТИ.

       Если  вы  обнаружите  ошибки  в  переводе этой страницы руководства, пожалуйста, отправьте
       электронное письмо на ⟨man-pages-ru-talks@lists.sourceforge.net⟩.