udplite(7) | Miscellaneous Information Manual | udplite(7) |
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.
Могут быть возвращены любые ошибки, описанные для udp(7). UDP-Lite не вносит никаких дополнительных типов ошибок.
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 или более позднюю, чтобы узнать об условиях авторского права. Мы не несем НИКАКОЙ ОТВЕТСТВЕННОСТИ.
Если вы обнаружите ошибки в переводе этой страницы руководства, пожалуйста, отправьте электронное письмо на man-pages-ru-talks@lists.sourceforge.net.
10 февраля 2023 г. | Linux man-pages 6.03 |